ホームページ > ウェブフロントエンド > フロントエンドQ&A > JavaScript でのイベントのバブリングを防ぐ方法

JavaScript でのイベントのバブリングを防ぐ方法

WBOY
リリース: 2022-04-11 11:52:37
オリジナル
2894 人が閲覧しました

方法: 1. stopPropagation() メソッドを使用して、デフォルトの動作である構文「event.stopPropagation()」を禁止しますが、阻止はしません; 2. return メソッドを使用して、デフォルトの動作を阻止しながら禁止します、構文「function() {return false}」。

JavaScript でのイベントのバブリングを防ぐ方法

このチュートリアルの動作環境: Windows 10 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

JavaScript でイベントのバブリングを防ぐ方法

ネイティブ JS では、イベント オブジェクト (イベント) に 2 つの主なメソッドがあります;

stopPropagation とPreventDefault

1 つ目はバブリングを無効にすることで、2 つ目はデフォルトの動作を防止することです

注: これはネイティブ JS メソッドであり、jQuery メソッドではありません。イベント パラメーターには任意の変数を使用できます。 e;

    ele.onmouseover=function(event){
        event=event||window.event;
        if(event.stopPropagation){
            event.stopPropagation();//标准留言器中禁止冒泡;
            // preventDefault中文意思是阻止默认行为;
        }else{
            e.cancelBubble=true;//IE浏览器禁止冒泡;IE678
        }
    }
ログイン後にコピー
ログイン後にコピー

1. イベントのバブリングを禁止します

    ele.onmouseover=function(event){
        event=event||window.event;
        if(event.stopPropagation){
            event.stopPropagation();//标准留言器中禁止冒泡;
            // preventDefault中文意思是阻止默认行为;
        }else{
            e.cancelBubble=true;//IE浏览器禁止冒泡;IE678
        }
    }
ログイン後にコピー
ログイン後にコピー

2. return

    ele.onmouseover=function(){
        return false
    }
ログイン後にコピー
# # を使用することもできます。 #違い。

return false は、イベントのバブルアップを防ぐだけでなく、イベント自体も防ぎます。

event.stopPropagation() はイベントのバブルアップを防ぐだけであり、イベント自体は防ぎません。

Organization:

1.event.stopPropagation();

イベント処理中、イベントのバブリングは防止されますが、デフォルトではブロックされません。 (実行可能なハイパーリンクのジャンプ)

2.return false;

イベント処理中、イベントのバブリングが防止され、デフォルトの動作も防止されます (ハイパーリンクを実行しないでください)ジャンプ)

バブリングに関連するものはもう 1 つあります:

event.preventDefault();
ログイン後にコピー
その機能は次のとおりです: イベント処理中、イベント バブリングはブロックされませんが、デフォルトの動作はブロックされます (すべてのポップを実行するだけです)。ボックスは表示されますが、ハイパーリンク ジャンプは実行されません)

[関連する推奨事項:

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

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

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