イベントのバブリングを止める
stopPropagation
jQueryてイベント処理するとき
覚えておきたい重要な性質
イベントのバブリング
これは
下の階層で発生したイベントが
上の階層まて自動的に伝搬していくこと
例えば
最下層のpタグで発生したイベントが
その上の
div
body
にも伝わること
これが起きていると
コードが意図しない動作するときかある
例えば
body
div
p
という構成で
pのところで
if(which===3){
….
}
とすると
イベントバブリングにより
$(document)
にも
mousedownイベントが適用され
コンテキストメニューが重複表示されてしまう
これは意図しない動作なのて
これを防ぐためには
e.stopPropagation();
を記述し
イベントバブリングを防ぐことで
正しく表示できるようになる
複雑に入り組んだページの場合
イベントバブリングに注意することが
重要