2017-03-24 14 views
-2

「子供」をクリックしてアラートを働かせてください。 しかし、クリックを行う簡単な方法は、子要素では機能しません。ここでJquery:クリックする簡単な方法はどのように子要素で動作しないのですか?

は例です:https://fiddle.jshell.net/k8t5dpg2/

Htmlの

<div id="secondary"> 1 
<a>child</a> 
</div> 

のjQuery

$('#secondary').click(function() {  
    alert('something') 
         }); 
+0

子供は? (私は質問を理解していないと思いますか?) – ochi

+0

あなたの関数にイベントオブジェクトを渡し、その 'target'をテストします - https://fiddle.jshell.net/k8t5dpg2/3/ – billyonecan

答えて

0

使用event.targetをクリックして何がクリックされているかを判断します。

例:

$('#secondary').click(function (event) { 
    var target = $(event.target); 
    if (target.is(this)) { 
     alert('something'); 
    } 
}); 
2

子とにIDを追加します。

$("#child").click(function() {  
    return false; 
}); 
+0

これはいくつかの理由で悪いアプローチです。あなたが必要としない追加のイベントハンドラを追加しています。デフォルトを妨げているfalseを返していて、イベントが伝播するのを止めています – billyonecan

0

あなたはこれを試すことができます。

$('#secondary').click(function (event) { 
     if(event.target.nodeName ==='A') { 
      return false; 
     }else{ 
     alert('something'); 

     } 
}); 
関連する問題