3

Internet Explorer で addEventListener を追加するときに何を行うtrueかを理解しようとしています。falseマイクロソフトによると、useCapture. 次のようなイベントを追加すると:

element.addEventListener('click', function_name, true);

何も変わっていないように見えますが、リスナーは引き続き機能します。誰でもuseCaptureパラメータの目的を説明できますか?

4

1 に答える 1

13

useCaptureこれは、次のイベント ハンドラーを追加するイベント フェーズを指定するオプションのパラメーターです。

イベントは、キャプチャとバブリングの 2 つのフェーズで処理されます。キャプチャ段階では、イベントは、オブジェクト階層の下位にあるイベント ターゲットにディスパッチされる前に、親オブジェクトにディスパッチされます。バブリング フェーズでは、イベントは最初にターゲット要素にディスパッチされ、次に親要素にディスパッチされます。いずれかのイベント フェーズのイベント ハンドラーを登録できます。

true キャプチャ フェーズのイベント ハンドラを登録します。

false バブリング フェーズのイベント ハンドラーを登録します。

ここで eventPhase のドキュメントを読むことができます: http://msdn.microsoft.com/en-gb/library/ie/ff974944(v=vs.85).aspx

編集:

バブリングとキャプチャによって定義されたイベントの順序を明確な例で説明する以下をお読みください。http://www.quirksmode.org/js/events_order.html

于 2012-12-20T06:15:16.477 に答える