マウスが当該の要素にふれたというイベント、その要素からマウスが離れた時のイベントに応じて、mouseenterとmouseleaveとmouseover、mouseoutで処理を行います。
この2種類は、微妙に動作が違います。
html
1<p id="parent"><span id="child"></span></p>
mouseenter、mouseleaveとmouseover、mouseoutでspanの親要素である<p>にイベントが発生しないか監視していたとします。するとこの二種類は、下記の違いが現れます。
前者(mouseenter、mouseleave)だと、pのみイベントが発生しますが、後者だとp
だけでなくspan
までイベントが発生します。ここで質問ですが、これはイベントキャプチャと呼ばれる親要素(p
)で発生したイベントが子要素(span
)伝播する現象が発生するために、このような動きになるのでしょうか。
後者がイベントが最上位ノードに伝播するバブリングを行うことは知っておりますが、キャプチャするのかどうか、が分かりません。
二つ目の質問ですがもし、このspanのイベントまでを補足するということは、逆にp
に親要素が存在していた場合、span
がそうだったように、バブリングでp
の親要素までイベントが発生してしまうのでしょうか。
また、p
のみイベントを発生させ、親要素の伝播を止めるとき、return falseやe.stopPropagation()、e.preventDefault()
のうちe.prebentDefault
で止められますか。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/15 03:07
2016/12/15 16:00 編集