capture

相 (DOMイベント)

仕様書

[11] イベントdispatch (によるイベントリスナーの呼び出し) には、 次の3つ (+ 1) の (フェーズ) があります。

name
通称
phase
eventPhase 属性値 (定数名)
value
eventPhase 属性値 (数値)
dir
イベントリスナー実行順
capture
実行されるイベントリスナー捕獲
bubbles
イベントリスナーが実行される bubbles
phase
NONE
value
0
name
捕獲 (capturing) フェーズ
phase
CAPTURING_PHASE
value
1
dir
capture
bubbles
,
name
対象 (target) フェーズ
phase
AT_TARGET
value
2
dir
capture
bubbles
,
name
泡立ち (bubbling) フェーズ
phase
BUBBLING_PHASE
value
3
dir
capture
bubbles

[16] は、 NONECAPTURING_PHASEAT_TARGETBUBBLING_PHASENONE の順に変化します。

[17] 影木が含まれる場合には、 CAPTURING_PHASEAT_TARGETBUBBLING_PHASEAT_TARGETBUBBLING_PHASE のように、何度も AT_TARGET となることがあります。

[19] CAPTURING_PHASEからの方向へと順に進んでいくのですが、 イベント対象は飛ばしていくことになります。

[18] AT_TARGET は、常にイベント対象イベントリスナーの実行時 (event.target === event.currentTarget) です。 影木が含まれる場合には、影ホストでも AT_TARGET となります。 イベント対象では CAPTURING_PHASEBUBBLING_PHASE となることはありません。

[13] イベントオブジェクトは、 (phase) を持ちます >>12。 その値は、 >>11 の4つの値のいずれかです。既定値は NONE です。

[14] Event インターフェイスeventPhase IDL属性取得器は、文脈オブジェクトを返さなければなりません >>12

[15] Event インターフェイスNONE, CAPTURING_PHASE, AT_TARGET, BUBBLING_PHASE定数は、それぞれの値 (>>11) を返さなければなりません >>12

処理

[10] dispatch 参照。

EventListenerOptions 辞書 capture メンバー

[7] 辞書 EventListenerOptionsメンバー capture は、イベントリスナー捕獲の値を boolean >>6 で指定します。

歴史

W3C DOM

[8] capture: イベントがその対象によって取り扱われる前に、その対象の祖先によって取り扱うことが出来る処理。 Capturing。 (Document Object Model Events <http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-overview-terminology>)

ev:listener 要素 phase 属性, ev:phase 属性 (XML 事象)

[1] XML事象phase 属性は、 事象聴取器活性化される段階を指定します。

仕様書: <http://www.w3.org/TR/xml-events#attr-listener-phase>

属性値:

capture
捕獲段階 (根要素から対象要素に向かって下っていく段階) で活性化されます。
default (既定値)
泡立段階または対象段階 (対象要素と、対象要素から先祖要素に向かって上っていく段階) で活性化されます。

すべての事象が泡立つわけではありませんから注意が必要です。

XBL2

[3] XML Binding Language (XBL) 2.0 ( ( 版)) <http://www.w3.org/TR/2007/CR-xbl-20070316/#the-default>

[2] XML Binding Language (XBL) 2.0 ( ( 版)) <http://www.w3.org/TR/2007/CR-xbl-20070316/#phase>

DOM イベント

[5] IRC logs: freenode / #whatwg / 20140410 ( ( 版)) <http://krijnhoetmer.nl/irc-logs/whatwg/20140410>

[4] IRC logs: freenode / #whatwg / 20140410 ( ( 版)) <http://krijnhoetmer.nl/irc-logs/whatwg/20140410>

[9] Add EventListenerOptions and passive event listener feature · whatwg/dom@253a21b ( 版) <https://github.com/whatwg/dom/commit/253a21b8e78e37447c47983916a7cf39c4f6a3c5>

[20] Shadow: define event retargeting for shadow trees (annevk著, ) <https://github.com/whatwg/dom/commit/ed94c9f2f1850b2e6a9b357c6870186859da4c2d>

[21] Editorial: major cleanup around firing and dispatching events (annevk著, ) <https://github.com/whatwg/html/commit/8ffbd146d4709057e45dd6cfc81e7a70897050c5>