2

サブリストを持つ単純なリストがあります

<div id="master">
<ul>
    <li><div>Trigger Me!</div></li>
    <li><div>Trigger Me!</div></li>
    <li><div>Trigger Me!</div>
        <ul>
            <li><div>Do NOT trigger me</div></li>
            <li><div>Do NOT trigger me</div></li>
        </ul>
    </li>
</ul>

ユーザーが最初のレベルのリスト要素をクリックした場合にのみ関数を呼び出したいのですが、2番目のレベルではクリックしません。ドキュメンテーションとグーグルに関しては、セレクターで ">" を使用することでトリックが簡単になるはずです。

$(document).ready(function(){
  $("div#master").on("click", "ul > li", function (){
    alert($(this).text());
  });
});

しかし、JSFiddle http://jsfiddle.net/kQH4x/でわかるように、サブリスト項目をクリックすると、トリガーも起動します。

stackoverflow の回答に関する類似の問題 (こちらhttps://stackoverflow.com/a/977891/1099519を参照) が何らかの理由で機能しないようです。

ありがとう

4

2 に答える 2