備忘録的プログラミングリファレンス

bubbles プロパティ

event.bubbles

 bubbles プロパティは、エレメントがイベントをバブリングするかどうかを示す Event インターフェイスのプロパティです。bubbles プロパティの値はBool値です。

bubbles プロパティ
document.getElementById("example").addEventListener("click", (event) => {
	console.log( event.bubbles );
}, false);

詳しくは Example を参照してください

 bubbles プロパティは読み取り専用です。

ページ内 Index

バブリングとキャプチャについて

 イベントのバブリングとは、あるエレメントで発生したイベントがその親エレメントでも発生するかを示します。

defaultView
( キャプチャー )(バブリング )
Document
( キャプチャー )(バブリング )
親のエレメント
( キャプチャー )(バブリング )
エレメント ( *イベントが発生 )

 イベントのバブリングは、イベントが親の階層に水中の泡のように上がっていくイメージからバブリングといいます。

 基本的には、イベントはドキュメントオブジェクトに到達するまで、親から親へとバブルするたびにイベントが発生します。
 バブリングされたイベントはイベントハンドラーが設定されたエレメントでトリガーされます。

 エレメントのバブリングはキャンセルすることもできます。キャンセルに関する方法には以下があります。

方法摘要/例
event.preventDefault()<a>エレメントのURLをたどる機能など、デフォルトで発生するイベントをキャンセル。バブリングはする
event.stopPropagation()エレメントのイベントは発生するが親より上の階層のイベントはキャンセル
event.stopImmediatePropagation()エレメント内の他のイベントをキャンセル

 event.preventDefault().defaultPrevented を true に設定します。
 .defaultPrevented が true の場合でもイベントのバブリングはします。設定された以降のイベントハンドラーの実行は無効になります。

 event.stopPropagation() は現行のイベントハンドラーの内容は実行されますが、親へのバブリングはキャンセルされます。

 event.stopImmediatePropagation() は現行のイベントハンドラーの内容は実行されません。バブリングもキャンセルされます。

 onclick="func_();return false;" といったイベントハンドラーの返り値に false を送るとイベントがキャンセルされるのは jQuery の機能のようです。

Syntax

in JavaScript

返り値はBool型です。

Boolean = event.bubbles;

Values

trueイベントがバブリング
falseバブリングしない

Example

 bubbles プロパティの例です。

確認ボタンをクリックしてください。以下のHTML,CSS,Scriptコード例が実行されます。