回答編集履歴

1

曖昧な点を修正

2017/09/12 09:12

投稿

unau
unau

スコア2468

test CHANGED
@@ -1,5 +1,7 @@
1
- [UI Events : 3.1. Event dispatch and DOM event flow](https://www.w3.org/TR/DOM-Level-3-Events/#event-flow) の図がわかりやすいと思いますが、`div.backBtn` の `touchend` イベントハンドラキックされるのは、`div.backBtn` が末端とし Target Phase のときです。
2
-
3
- もし、`div.backBtn` 親要素にイベントが登録されていれば、Capture Phase のときにすでにチェックされイベントを認識し、Bubbling Phase で戻ってきたときにイベントハンドラが起動します。
1
+ [UI Events : 3.1. Event dispatch and DOM event flow](https://www.w3.org/TR/DOM-Level-3-Events/#event-flow) の図がわかりやすいと思いますが、`div.backBtn` の `touchend` イベントハンドラキックされるのは、`div.backBtn` が末端としたら Target Phase のときです。`div.backBtn` 親要素にイベントが登録されていれば、Capture Phase のときにすでにチェックされイベントを認識し、Bubbling Phase で戻ってきたときにイベントハンドラが起動します。つまり、`div.backBtn` のイベントハンドラが実行されているときには、すでに親要素のイベントハンドラも実行待ちの状態になっているということです。
4
2
 
5
3
  もし、`div.backBtn` の `touchend` イベントハンドラの最後に `return false;` があると、Bubbling がキャンセルされるので、Capture Phase で用意されていたイベントハンドラは実行されません。が、Bubbling がおこれば、Capture Phase で用意されていたイベントハンドラが実行されます。
4
+
5
+
6
+
7
+ (用語の正しさには自信ありません ...)