JQueryのイベントバブリングとは何ですか

青灯夜游
リリース: 2022-11-18 18:52:30
オリジナル
1856 人が閲覧しました

バブリング イベントとは、イベントが発生した後、通常、ブラウザーはまずイベントが発生した要素でイベント ハンドラーをトリガーし、次にその親要素、親要素の親要素...というように、イベントが発生するまでイベント ハンドラーをトリガーします。ルート要素までのドキュメント。バブリング イベントは、イベント伝播の最も一般的な方法です。イベントの処理後、イベントの伝播を停止し、バブリングを継続したくない場合は、イベント処理メソッドをバインドする必要があります。

JQueryのイベントバブリングとは何ですか

このチュートリアルの動作環境: Windows7 システム、jquery3.6.1 バージョン、Dell G3 コンピューター。

イベント バブリングとは

バブリング イベントとは、特定の種類のイベントがオブジェクト上でトリガーされると、そのイベントが伝播することです。親に定義され、親オブジェクトで定義された同様のイベントをトリガーします。イベントの伝播の方向は、水の底から上昇する水の泡と同様に、下から上へです。

HTML ドキュメントは DOM ツリーを視覚化できます:

JQueryのイベントバブリングとは何ですか

イベントのバブリング現象は次の図のように鮮やかに表現できます:

JQueryのイベントバブリングとは何ですか

簡単に言えば:

イベントが発生した後、ブラウザは通常、最初にイベントが発生した要素でイベント ハンドラーをトリガーし、次にその親要素、親要素の親要素の順にイベント ハンドラーをトリガーします。 .. …など、ドキュメントのルート要素まで続きます。

これはイベント バブリングと呼ばれ、イベントが伝播する最も一般的な方法です。 イベントを処理した後、イベントの伝播を停止し、イベントがバブルアップし続けることを望まない場合があります。イベントの処理メソッドをバインドする必要があります。

JQueryのイベントバブリングとは何ですか

上記のように、クリック イベントを設定します。ボタンがクリックされると、ボタンのクリック イベントがトリガーされ、対応する親要素 div がトリガーされます。 click.イベントがトリガーされ、次に本文がトリガーされてイベントがトリガーされ、ドキュメントまたはウィンドウまで同様に続きます。

バブリングの例

手順:

JQueryのイベントバブリングとは何ですか

効果:

JQueryのイベントバブリングとは何ですか

3 の赤枠をクリックすると、ポップアップ ボックス 3 が表示され、確認後、ポップアップ ボックス 2 が表示され、ポップアップ ボックス 1 が表示されます現れる。

2 がある黄色のボックスをクリックすると、ポップアップ ボックス 2 が表示され、次にポップアップ ボックス 1 が表示されます。

1 つが配置されている緑色のボックスをクリックすると、1 つ目のポップアップ ボックスのみが表示されます。

つまり、最初の 2 つの状況ではバブリングが発生しました。

クリック イベントが書き込まれる順序が原因であるかのように誰かが言うなら、そうではありません。イベントはすべてドキュメントが読み込まれた後に実行されます。

#泡立ちを防ぐ方法:

2 つをクリックした後の泡立ちを防ぎたい場合は、次のコードを追加します

JQueryのイベントバブリングとは何ですか

そうすると、ポップアップ ボックス 2 はポップアップ ボックス 1 に表示されなくなります。

jquery によるイベントのバブリングの防止の例

1. デフォルトの動作をキャンセルし、false を返すことでイベントのバブリングを防止します。

jQuery コード:

$("form").bind(
  "submit", 
  function() { 
    return false;
   }
);
ログイン後にコピー

2.デフォルトの動作をキャンセルするには、preventDefault() メソッドを使用する必要があります。

jQuery コード:

$("form").bind(
  "submit", 
  function(event){
      event.preventDefault();  
  }
);
ログイン後にコピー

3. stopPropagation() メソッドを使用して、1 つのイベントのバブリングを防止するだけです。

jQuery コード:

$("form").bind(
  "submit", 
  function(event){
      event.stopPropagation();  
  }
);
ログイン後にコピー

[推奨学習:

jQuery ビデオ チュートリアル Web フロントエンド ビデオ ]

以上がJQueryのイベントバブリングとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート