この記事では、バブルと比較してイベントのバブリングのコード分析を主に紹介します。必要な友達はそれを参照できます。
子要素がイベントをトリガーするという概念です。対応する先祖要素も同じイベントをトリガーします
(同じイベントが前提条件の親要素にも追加されます)
例: 息子には onclick があり、先祖の 18 世代にも onclick があります
息子がクリックされたとき、祖先 18 世代のクリック イベントもトリガーされます
この状況は多くの問題を引き起こす場合があるため、バブリングを防ぐ必要があります
クリックされた要素のみがイベントをトリガーします
すべてのイベントがバブルするわけではありません
Onblur onfocus onload onerror なし
実際、イベントをトリガーするには 3 つのプロセスがあります: キャプチャ フェーズ ---> バブリング フェーズ
標準ブラウザのバブル順序の子要素 -->親 --> 本体 --> ドキュメント ---> ウィンドウ
IE 子要素 --> 親 --> 本体 --> ドキュメント
次に、コードは非常に簡単です。互換性プロセス
<!doctype html> <html> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>阻止冒泡</title> </head> <body> <input type="button" id="cancelBubble" value="取消冒泡"/> <script type="text/javascript"> var btn=document.getElementById("cancelBubble"); document.onclick=function(){ alert("冒泡"); } btn.onclick=function(event){ var event=event||window.event;//兼容 if(event && event.stopPropagation){ event.stopPropagation(); } else{ //IE 678 event.cancelBubble=true; } alert("没有冒泡"); } </script> </body> </html>
以上がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトに注目してください。
関連する推奨事項:
NodeJS によるメッセージ キュー RabbitMQ の操作方法の分析
JavaScript によるファイル ダウンロード機能の実装方法
以上がイベントバブリング率のコード解析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。