1

要素を作成するスクリプトがあり、作成プロセスの一部として (addEventListener を使用して) onclick イベントを追加しますが、子要素をクリックすると、親の onclick イベントがトリガーされます。ソースが子要素の場合、クリックが検出されないようにするにはどうすればよいですか?

4

3 に答える 3

3

を使用しevent.stopPropagation()ます。これにより、Javascript イベントのバブリングが停止し、対象の要素に適用されたイベントのみが実行されます。

window.addEventListener("click", function(event){

    // event here

    event.stopPropagation();
}, false);
于 2012-08-20T18:51:03.937 に答える
2

問題は、イベントが親にバブリングしていることです。

子のonclickイベントで、イベントに伝達を停止するように指示します。

onclick = function (event) {
    // ...
    event.stopPropagation();
};
于 2012-08-20T18:51:19.023 に答える
1

親クリック ハンドラー: (クリックされた要素の ID を確認します)

function handler(e){
  if(e.target.id != "parentID") return;
  ....
}
于 2012-08-20T18:52:46.610 に答える