質問編集履歴
1
題名の変更、加筆、修正。
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
子要素
|
1
|
+
子要素にイベントが発生する理由とは
|
body
CHANGED
@@ -5,9 +5,9 @@
|
|
5
5
|
```
|
6
6
|
mouseenter、mouseleaveとmouseover、mouseoutでspanの親要素である<p>にイベントが発生しないか監視していたとします。するとこの二種類は、下記の違いが現れます。
|
7
7
|
|
8
|
-
前者(mouseenter、mouseleave)だと、pのみイベントが発生しますが、後者だと```p```だけでなく```span```までイベントが発生します。ここで質問ですが、これはイベントキャプチャと呼ばれる
|
8
|
+
前者(mouseenter、mouseleave)だと、pのみイベントが発生しますが、後者だと```p```だけでなく```span```までイベントが発生します。**ここで質問ですが、これはイベントキャプチャと呼ばれる親要素(```p```)で発生したイベントが子要素(```span```)伝播する現象が発生するために、このような動きになるのでしょうか。**
|
9
|
-
親要素(```p```)で発生したイベントが子要素(```span```)伝播する現象が発生するために、このような動きになるのでしょうか。後者がイベントが最上位ノードに伝播するバブリングを行うことは知っておりますが、
|
10
|
-
キャプチャするのかどうか、が分かりません。
|
9
|
+
後者がイベントが最上位ノードに伝播するバブリングを行うことは知っておりますが、キャプチャするのかどうか、が分かりません。
|
11
10
|
|
12
|
-
二つ目の質問ですがもし、このspanのイベントまでを補足するということは、逆に```p```に親要素が存在していた場合、```span```がそうだったように```p```の親要素までイベントが発生してしまうのでしょうか。
|
11
|
+
二つ目の質問ですがもし、このspanのイベントまでを補足するということは、逆に```p```に親要素が存在していた場合、```span```がそうだったように、**バブリング**で```p```の親要素までイベントが発生してしまうのでしょうか。
|
12
|
+
|
13
|
-
pのみイベントを発生させ、親要素の伝播を止めるとき、```return falseやe.stopPropagation()、e.preventDefault()```のうち```e.prebentDefault```で止められますか。
|
13
|
+
また、```p```のみイベントを発生させ、親要素の伝播を止めるとき、```return falseやe.stopPropagation()、e.preventDefault()```のうち```e.prebentDefault```で止められますか。
|