0

名前空間イベントを使用すると、ハンドラーが常に起動されるという奇妙な動作があります。

<div id="div1"></div>
<span id="span1">click</span>
<span id="span2">click</span>


$("#div1").on("click.me", function(event, data){
     $(this).append(data.from);
});

$("#span1").on("click", function(event){
     $("div").trigger("click.me", [{from:"span1"}]);
});

$("#span2").on("click", function(event){
     $("div").trigger("click", [{from:"span2"}]);
});

そのため、span1 と span2 の両方をクリックすると、div がデータを追加します。何故ですか ?「click.me」に固有のハンドラを追加しただけではありませんか?

私はjsFiddle http://jsfiddle.net/cY5sk/1/でそれを持っています

4

1 に答える 1