2012-01-05 12 views
0

子のイベントが実行されると親イベントを回避する方法。ここでは、コードを使用すると、イベントを変更しようとしたことがありますが、Internet Explorerの場合、あなたの子供のイベントハンドラ子要素のイベントのデフォルトを防止する

event.stopPropagation() 

でこれを試すことができ

document.addEventListener('touchend', function (e) { 
    //Do something here 
}, false); 

someChildElement.addEventListener('touchend', function (e) { 
    //Do something here 

    //if this code block is executed then do-not execute the touchend event of document// 
}, false); 

答えて

2

コメントを参照してください、あなたは

window.event.cancelBubble = true 
1

を使用する必要がありますです伝播メカニズム?

'addEventListener'メソッドの最後のパラメータは、イベントの伝播を制御します。 falseに設定した場合、イベントは泡立ちますが、trueに設定すると、イベントがキャプチャされてから泡立ちます。したがって、「true」に設定すると、「container」は「child」の前にイベントを受け取り、「false」に設定すると、コンテナより先にイベントを受け取ります。 簡単に言えば、パラメータを「偽」に設定すると、イベントレジストラは、イベントが「子」要素からそのコンテナ要素にバブルする際に、内部要素から開始します。そして、それを「真」に設定すると、イベント登録者は最初にコンテナ要素に下向きに移動します。これは、イベントが登録された最初の要素であり、最も外側の要素から文書ツリーを横断してから子要素に到達します。

event.stopPropagationを使用すると、イベントがさらに通過するのを防ぐことができます。

あなたはMDN

関連する問題