JSのイベントはデフォルトで泡立っており、レイヤーごとに伝播されたレイヤーです。 StopPropagation()関数を介して、DOMレベルのイベントの伝播を停止できます。次の例のように:
HTMLコード:
<!doctype html> <html> <head> <meta charset = "utf-8"/> <title> stoppropagation() - qiongtai blog </head> </head> <body> <ボタン> </button> </body> </html> [/code] bar button = bar button = bar button document.getElementsByTagname( 'button')[0]; button.onclick = function(event){alert( 'button click');}; document.body.onclick = function(event){alert( 'body click');}DOMはレイヤーごとにレイヤーを伝播するため、ボタンをクリックするとボディレイヤーにも広がり、ボディレイヤーのクリックも応答します。その結果、2つの警告ボックス、つまりボタンとボディがポップアップします。
stoppropagation()を追加しました
var button = document.getElementsByTagname( 'button')[0]; button.onclick = function(event){alert( 'button click'); // domイベントの階層伝播event.stoppropagation();}を停止します。 document.body.onclick = function(event){alert( 'body click');}StopPropagation()関数は、ボタンのクリックイベント処理関数で使用され、イベント伝播関数を停止するため、ボタンクリックイベントの警告ボックスがポップアップすると、ボディを伝播できず、ボディの警告ボックスが再びポップアップされません。その結果、警告ボックスについては一度だけ説明します。
JSを書くとき、多くの子供の靴は、層ごとに層ごとに拡散するDOMイベントの特性を無視することが多く、プログラムに異常をもたらします。より詳細な知識を知る必要がある場合は、JSイベントの泡について情報を見つけることができます。