「内向き」タイプのイベントをキャッチしてABCを実行し、「外向き」タイプのイベントをキャッチしてXYZを実行したい。予想外の奇妙な時間にさまざまなイベントが発生するという問題が発生しているので、私のアプローチが実際に問題を引き起こしているのではないかと思います。
<div class="box">first box</div>
<div class="box">second box</div>
$(".box")
.on("focus mouseover mousedown", function(){ /* do ABC */ })
.on("blur mouseout mouseup", function(){ /* do XYZ */ });
.on()
このようにメソッドをつなぎ合わせると、blurイベントが同じに対してのみトリガーされるようになると思います.box
。しかし、それ以外は、このようにした場合と同じように動作することを期待しています。
$(".box").on("focus mouseover mousedown", function(){ /* do ABC */ });
$(".box").on("blur mouseout mouseup", function(){ /* do XYZ */ });
またはこのようなことをする:(冗長に見える)
$(".box").on({
focus: function(){ /* do ABC */ },
mouseover: function(){ /* do ABC */ },
mousedown: function(){ /* do ABC */ },
blur: function(){ /* do XYZ */ },
mouseout: function(){ /* do XYZ */ },
mouseup: function(){ /* do XYZ */ }
);
私は「どちらが良いか」ではなく、「どのように違うのか」を尋ねています。彼らは異なる結果を得ているようです。