2017-04-10 20 views
0

私は、このHTMLコードを持っている:ここではラベルコントロール内のボタンクリックを防ぐにはどうすればいいですか?

<label style="padding: 0px 0px!important; text-align:center"> 
    <span style="color: gray">Some Text</span>   
     <button onclick='alert("Hello!")' style="cursor: pointer;">  
       <i class="glyphicon glyphicon-pushpin btn-lg" aria-hidden="true"></i>     </button> 
</label>  

JSFiddleです。

ラベルコントロールで、ラベルの任意の領域をクリックするとbutton.Buttonがクリックされたと宣言しました。ボタンをクリックしたときにのみクリックされるようにする方法はありますか?

<label style="padding: 0px 0px!important; text-align:center"> 
    <span style="color: gray">Some Text</span> 
</label> 
<button onclick='alert("Hello!")' style="cursor: pointer;"> 
    <i class="glyphicon glyphicon-pushpin btn-lg" aria-hidden="true"></i> 
</button> 

https://jsfiddle.net/xzgqLhpd/2/

+0

でラッパー要素にonclickの機能を追加... 例えばbutton.clickにリスナーを追加し、clickイベントのevent.currentTargetをチェックし、そうでない場合はpreventDefault():)他の答えを見てください; – MarcelD

答えて

0

アンラップラベルは、あなたのソリューションは、そうのようなものです:

<label style="padding: 0px 0px!important; text-align:center"> 
 
<span style="color: gray">Some Text</span> 
 
</label>   
 
<button onclick='alert("Hello!")' style="cursor: pointer;">  
 
    <i class="glyphicon glyphicon-pushpin btn-lg" aria-hidden="true"></i>      
 
</button>

ただ、ラベルの外にボタンを配置します。

+0

プッシュピンがダウンしています私が – Michael

+0

以上の姿勢を使うと、ラベル表示にスタイルを追加します:inline-block; –

0

あなたがそのままあなたのHTMLが必要な場合は、あなただけのJSとボタンのクリックを防ぐことができますreturn false;

<label onclick="return false;"> 
 
    <span style="color: gray">Some Text</span>   
 
     <button onclick='alert("Hello!");' style="cursor: pointer;">  
 
       MY BUTTON 
 
     </button> 
 
</label>

関連する問題