検索

ホームページ  >  に質問  >  本文

JavaScript - ブラウザはイベントが発生したことをどのようにして知るのでしょうか?

最近、私はイベントのキャプチャとバブリングに関連する問題を詳しく研究しています。
私はこのように理解していますが、それが正しいかどうかはわかりません。見てください。

イベント伝播メカニズムは、キャプチャ ステージ、ターゲット ステージに到達、およびバブリング ステージの 3 つのステージに分かれています。この伝播メカニズムの目的は、イベントが発生するかどうか、どのような種類のイベントが発生するか、どこで発生するかを監視することだと思います。いわゆるイベントキャプチャとは、ブラウザがイベントが発生したかどうかを調べることであり、イベント発生後の処理時間は、イベント処理関数とaddEventListener()の最後のパラメータを登録することで実現されます。

しかし、この考えに従うと、このような問題が発生します。

たとえば、次のようなコードがあります

リーリー

キャプチャ メソッドを使用してイベントを処理し、イベントがイベント処理関数内で伝播し続けるのを防ぎます。これは当然のことのように思えますが、私の質問は、イベントの伝播が停止した場合、ブラウザーはイベントが発生した場所をどのようにして知るのでしょうか?イベントが発生したことをどのようにして知るのでしょうか?イベントが発生したことを認識していない場合、対応するイベント ハンドラーをどのように実行できるでしょうか?

滿天的星座滿天的星座2806日前791

全員に返信(6)返信します

  • 给我你的怀抱

    给我你的怀抱2017-06-14 10:53:11

    あなたの矛盾は、キャプチャフェーズについての誤った理解が原因です。名前を気にする必要はありません。キャプチャとバブリングは同じレベルにあり、一方は外側から内側に、もう一方は内側から外側に働きます。したがって、イベント割り込みは伝播前ではなく、伝播プロセス中に中断されます。

    返事
    0
  • 大家讲道理

    大家讲道理2017-06-14 10:53:11

    入手方法について話している場合。 答えは JavaScript イベント ループにあると思います

    リンク: https://developer.mozilla.org...

    返事
    0
  • 仅有的幸福

    仅有的幸福2017-06-14 10:53:11

    コードはブラウザーによって実行され、イベントはブラウザーによって検出され、ブラウザーは指定したイベントの実行を支援します。

    それでは、ブラウザはどのようにしてそれを認識するのでしょうか?

    返事
    0
  • 世界只因有你

    世界只因有你2017-06-14 10:53:11

    これは、JavaScript がディレクティブ言語であるためです。つまり、作成するすべての JavaScript ステートメントは、ブラウザーに何かを行うよう通知する命令です。たとえば、最も単純な document.getElementById() は、実際には JavaScript 自体ではなく、関連する DOM を取得するようにブラウザーに通知します。イベント処理についても同様です。

    返事
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-14 10:53:11

    クリックして実行disableClickHandlerし、イベントの拡散を防ぎます...

    返事
    0
  • 黄舟

    黄舟2017-06-14 10:53:11

    イベントの拡散が止まった場合、ブラウザはどのようにしてイベントが発生した場所を知るのでしょうか?

    知りたくないのです。

    イベントが発生したことはどのようにしてわかるのでしょうか?

    それも分かりません。

    イベントが発生したことを認識していない場合、対応するイベント ハンドラーをどのように実行できるでしょうか?

    怠惰だと言いました。

    返事
    0
  • キャンセル返事