この単純な addEventListener 関数の後に 'false' が使用されるのはなぜですか? 質問する

この単純な addEventListener 関数の後に 'false' が使用されるのはなぜですか? 質問する

最後にある false は何の意味ですか? ありがとうございます。

window.addEventListener('load', function() {
  alert("All done");
}, false);

ベストアンサー1

MDN も確認しましたが、まだ が何useCaptureのためにあるのか理解できませんでした。そのため、この回答は、公式ドキュメントを確認してもまだ理解できない人向けです。

まず、ほとんどすべてのブラウザで次のことが起こります。

IE<9 を除くすべてのブラウザでは、イベント処理には 2 つの段階があります。

まずイベントが始まります。キャプチャ、 その後泡立つこの動作は W3C 仕様で標準化されています。

つまり、 を何に設定してもuseCapture、これら 2 つのイベント フェーズは常に存在します。

この図はそれがどのように動作するかを示しています。

ここに画像の説明を入力してください

このモデルによれば、イベントは次のようになります。

1 -> 2 -> 3 と下方向にキャプチャします。

泡が上がっていきます - 3 -> 2 -> 1。

次に、質問です。 3 番目のパラメータは、useCaptureハンドラーがイベントを処理する 2 つのフェーズのどちらであるかを示します。

useCapture = true

ハンドラはキャプチャ フェーズに設定されています。イベントは、その子に到達する前にハンドラに到達します。

useCapture = false

ハンドラーはバブリング フェーズに設定されています。イベントは、その子に到達した後にハンドラーに到達します。

つまり、次のようなコードを書いたとします。

child.addEventListener("click", second);
parent.addEventListener("click", first, true);

子要素をクリックすると、firstメソッドが前に呼び出されますsecond

デフォルトでは、useCaptureフラグは間違いつまり、ハンドラはイベント中にのみ呼び出されます泡立つ段階。

詳しい情報については、この参照リンクをクリックしてくださいそしてこれ

おすすめ記事