2

このイベントを見てください(互いに重なっている2つのdivにバインドされているため、jsfiddleを見てください)

.on('contextmenu', function() { ... });
  1. 両方のdiv がトリガーされるのはなぜですか?
  2. これを検出したり、下にある div のトリガーを停止したりするにはどうすればよいですか?

デモjsfiddle

情報をありがとう!

4

3 に答える 3

4

ネストされた要素では、イベントのバブリングを停止する必要があります。

$('#div2').on('contextmenu', function(e) {
    e.stopPropagation();
    $('#log').append('<p>div2 triggered contextmenu!</p>');
});

デモ

于 2013-09-17T14:06:21.140 に答える
1

デモ

$('#div1,#div2').on('contextmenu', function (e) {
    e.stopPropagation();
    $('#log').append('<p>' + e.target.id + ' triggered contextmenu!</p>');
});

イベント.ターゲット

event.stopPropagation/

于 2013-09-17T14:09:11.780 に答える