1

私はリストを持っていて、リストの各アイテムにはdivがあります。リストアイテムをクリックすると、何かを実行したい(例:alert( "Clicked Outside Div");)が、リスト内のdivをクリックしたときのアクションも必要です(例:alert( "Clicked in Div ");。

ただし、divをクリックするとアクションが実行されますが、直後のリストアイテムのクリックに関連するアクションも実行されます。Clicked in Divのみが表示されるように、この動作を防ぐことはできますか?

<ul id="coll-selected-list" class="droptrue sort-drop">
       <li class="sortedli">
             <div class="sel-display-on" style="display: inline; float:left; width: 30px;">xx</div>
             Call Type
       </li>
</ul>

$('.sel-display-on').click(function () {
        alert("Clicked in Div");
    });
$('.sortedli').click(function () {
        alert("Clicked outside Div");
    });
4

1 に答える 1

8
$('.sel-display-on').click(function (e) {
    e.stopPropagation();
    alert("Clicked in Div");
});

divをクリックすると、クリックイベントが発生し、リストアイテムでクリックイベントがトリガーされます。e.stopPropagation();この動作に対抗するために使用します。

jsFiddle の例

于 2012-08-27T20:00:30.930 に答える