リンクが含まれているdiv(a href)があり、3つのイベントリスナ - オン - クリック - 1)ページ全体、2)div 3)タグがあるとします。ユーザーがaタグをクリックすると、どのようにリスナーがトリガーされますか?登録されている順番は?JavaScriptのイベントリスナーの順序はどのように決まりますか?
1
A
答えて
1
本質的に、それは依存する。イベントの2つのフェーズがあります。キャプチャ(最初に実行)、ドキュメントを閉じる、バブルは要素を上に移動します。
JSは両方を行うことができます。そのため、カスタムイベントを作成するときに、3つ目のブール変数があると聞きました。
parent.addEventListener('click',doSomething2,true) child.addEventListener('click',doSomething,false)
その最後の引数がtrueの場合、イベントハンドラは、それがfalseの場合、イベントハンドラは、バブリング段階に設定され、キャプチャ段階に設定されています。
バックのサンプルコードを参照するとthis pageを引用する:ユーザーが子要素をクリック
場合は次の処理が行われます。
クリックイベントがキャプチャ段階で開始します。このイベントは、子の祖先要素にキャプチャフェーズのonclickイベントハンドラがあるかどうかを調べます。
イベントは、親イベントを検出します。 doSomething2()が実行されます。
イベントはターゲット自体に移動し、キャプチャフェーズのイベントハンドラはそれ以上見つかりません。イベントはバブルフェーズに移行し、バブルフェーズのために子に登録されているdoSomething()を実行します。
イベントは上向きに移動し、ターゲットの祖先要素にバブルフェーズのイベントハンドラがあるかどうかを確認します。これは事実ではないので、何も起こりません。
私は上記のリンク先のページには、道より多くの情報を持っていますが、うまくいけば、それは基本的な質問に答えます。
関連する問題
- 1. イベントリスナーの順序
- 2. EntityFrameworkコードベースの移行、順序はどのように決定されますか?
- 3. .netは "foreach"ループの順序をどのように決定しますか?
- 4. ResourceDictionaryキーの順序はどのように決定されますか?
- 5. MEFはどのように輸入の順序を決定しますか?
- 6. スミス:挿入順序はどのように決定されますか?
- 7. TensorBoardの埋め込みタブでの実行の順序はどのように決まりますか?
- 8. フィルタの前にはどのような順序がありますか?
- 9. 多項式(Python):係数はどのような順序になりますか?
- 10. ルビーオンレール:どのように私は順序
- 11. テーブルのチェーンの順序はどのように決められていますか?
- 12. Linuxはモジュールのinit呼び出しの順序をどのように決定しますか?
- 13. ミックスインの順序はどのように派生クラスに影響しますか?
- 14. Z-インデックスはタブの順序にどのように影響しますか?
- 15. クラスのインスタンスの順序はどのように指定しますか?
- 16. Roxygen2のコレートの順序はどうすればわかりますか?
- 17. "default" rvmsの順序はどのように指定しますか?
- 18. 依存関係の順序はどのように保持しますか?
- 19. Gradle:依存関係の順序はどのように違いますか?
- 20. DataAnnotation ValidationAttributeの順序はどのように指定できますか?
- 21. レジスタの順序でカテゴリが決定された場合、data.tableをどのように変更できますか?
- 22. CLOCK制御イベントはどのように順序付けられますか?
- 23. SQLAlchemyは主キー列にどのような順序を使用しますか?
- 24. DockerfileでRUNコマンドの順序にどのように影響しますか?
- 25. node.jsのMongoDBインデックスのjavascriptオブジェクトのプロパティの順序をどのように指定できますか?
- 26. Javascriptの実行順序は、()
- 27. JavaScriptのインポートの順序は関係しますか?
- 28. Sinatraでメソッドのエイリアスを設定すると、ルートの順序はどのようになりますか?
- 29. C++のpriority_queueでオブジェクトをどのように順序付けしますか?
- 30. フライウェイはSQLスクリプトの実行順序をどのように決定するのですか