ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript でイベントのバブリングを防止する例 Sharing_JavaScript スキル

JavaScript でイベントのバブリングを防止する例 Sharing_JavaScript スキル

WBOY
リリース: 2016-05-16 16:24:11
オリジナル
1055 人が閲覧しました

以前、イベントのバブリングの問題に遭遇し、ネットで検索したところ、ほとんどの結果が同じコードで、投稿するとスムーズではありませんでした。 FF に関しては、 e.stopPropagation(); を使用できますが、私はどういうわけか成功しませんでした。しかし、FF では e.cancelBubble = true; という記述方法がサポートされていることが、テストの結果実現可能であることが分かりました。ここにコードを投稿するだけで、後で探す手間が省けます。以前のバージョンの IE との互換性はまだテストされていません。使用すると改善される予定です。

コードをコピー コードは次のとおりです:

//イベントバブリングをキャンセル
関数 stopBubble(e) {
var evt = (e) ? e : window.event;//FF
と互換性があります evt.cancelBubble = true; //evt.stopPropagation(); FFでバブリングを防ぐには、
を使用できると言われています。 };

また:

1. cancelBubble (HTML DOM イベント オブジェクト属性): イベント ハンドラーが、イベントが含まれるオブジェクトに伝播するのを防ぎたい場合は、この属性を true に設定する必要があります。

2. stopPropagation (HTML DOM Event オブジェクト メソッド): 終了イベントは、伝播プロセスのキャプチャ、ターゲット処理、またはバブリング段階でさらに伝播されます。このメソッドを呼び出した後、このノード上のイベントのハンドラーが呼び出され、イベントは他のノードにディスパッチされなくなります。

3.PreventDefault (HTML DOM イベント オブジェクト メソッド) は、イベントに関連付けられたデフォルトのアクションを実行しないようにブラウザーに通知します。

例:
関数 stopBubble(e)
{
If (e && e.stopPropagation)
e.stopPropagation()
その他
window.event.cancelBubble=true
}

イベントのバブリングを防ぐには、この stopBubble(e) 関数をイベントのバブリングを防ぎたい関数に入れます

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