[10] DOMイベントは木構造に対して定義されていますが、
実際に木として使われるのは節点木
(Document
や Element
の木) だけで、
それ以外のほとんどは単一のオブジェクトです。
[16] EventTarget
は、
イベントイベントを引数とする親の取得アルゴリズムを持ちます
>>19。
イベント対象の親の取得は、イベント対象により、次のようにします。
[23] イベントオブジェクトは、経路を持ちます >>22。
[44] 仕様書の規定は若干わかりにくい形になっています。次の説明は、少し違う (が等価な) 形です。
[45] 経路は dispatch で設定されます。
dispatch 自体の他、 composedPath
でも参照されます。
仕様書上は影根の親の取得でも参照されます。
[47] 経路は、 dispatch の最初でイベントと対象と遺物対象上書きフラグを使って次のように構築されます >>46。
MouseEvent
かつイベントの型が click
である、に設定します。null
でないならオブジェクト、それ以外なら null
に設定します。[51] ここで、イベントのオブジェクトにおける関連対象とは、
[48] イベント経路は、 dispatch の最後で空に戻されます >>46。
[64] 節点を基準点について再対象付けした結果とは、 節点と基準点が同じ木に属するか、 基準点が影木に属する (など影を含む子孫である) ならば節点、 そうでないなら節点の根の影ホストを基準点について再対象付けしたものです >>46。
[86] これは pointerLockElement
から参照されています。
[17] dispatch において Window
は Document
の親として (ほとんどの場合に) 動作するよう昔から実装されていましたが、
HTML5 まで明文化されていませんでした。
[18] DOM Standard によってイベントの仕様が再整備されたことで、 HTML Standard もそれに基づく規定に切り替えられました。
[3] >>1 により HTML Standard は DOM Standard より event parent と cross-boundary event parent を引用していますが、現時点で DOM Standard に両者の定義はありません。
[9] 閲覧文脈中にある Document
に属する節点においてイベントがディスパッチされる時、
イベント型が load
である時を除き、
Window
が Document
の親であるように振舞わなければなりません
>>8。
[13] seamless
は実装されなかったため2016年2月に削除されました。
[20] 2016年2月にはイベント親は親の取得という形に再編されて、 DOM Standard に規定が集約されました。
[31] [Fix #429] Integrate "get the parent" model for an event path · w3c/webcomponents@0457494 ( 版) https://github.com/w3c/webcomponents/commit/0457494032c6668291319df843a7a62faca214c5
[32] Fix #486: Fix 'get the parent' for relatedTarget ( (hayatoito著, )) https://github.com/w3c/webcomponents/commit/b1433e5f3a013ca825f02fb8f7b0e9d6217c0125
[33] [] (0) Make the Window object support events ( (Hixie著, )) https://github.com/whatwg/html/commit/16d81185f31b98ef752e036fce228199a1e8502c
[61] Shadow: define event retargeting for shadow trees (annevk著, ) https://github.com/whatwg/dom/commit/ed94c9f2f1850b2e6a9b357c6870186859da4c2d
[62] Shadow: define Event's composedPath() (annevk著, ) https://github.com/whatwg/dom/commit/58b19e4aa89ab0c6ef998daa455dcbb189423cf8
[63] Shadow: define event's relatedTarget handling (hayatoito著, ) https://github.com/whatwg/dom/commit/ef69a247681532e6102ced9a78aabf7f7a536108
[65] Shadow: add "retargeting steps" to the dispatch algorithm (hayatoito著, ) https://github.com/whatwg/dom/commit/fbc0c312c3ead6940718e3d2d7511f2b014011e1
[67] Use the definition of "retargeting" from the DOM spec. (#8) (TakayoshiKochi著, ) https://github.com/w3c/pointerlock/commit/03f09d37d45c33ac766c3cbe99fc8e199c64347e
[68] Editorial: drop "invoking" from "invoking retargeting" (TakayoshiKochi著, ) https://github.com/whatwg/dom/commit/de60f841360f5995be0b49eebe7cda1c32275be8
[69] Add TouchEvent's retargeting steps (#73) (hayatoito著, ) https://github.com/w3c/touch-events/commit/eeed53b305bc1c1fa35f7280aef342f16ebb230c
[70] Shadow: adjust composedPath() when currentTarget is a Window object (hayatoito著, ) https://github.com/whatwg/dom/commit/2153769e1ecf55f2d202fd5c6f996023b34545e5
[71] Redesign fire an event and target override (annevk著, ) https://github.com/whatwg/dom/commit/e19d7eef74fb83792415a4a78ed866d28f4cc543
[72] Shadow: do not dispatch an event when target is reletedTarget (hayatoito著, ) https://github.com/whatwg/dom/commit/afac5044c18fa871837b0a86d21f338b29f7a292
[78] Define special dispatch behavior for click events (annevk著, ) https://github.com/whatwg/dom/commit/cb12fd4e2db68a9d86841a13a73611e16f9f1fb4
[87] Allow constructing and subclassing EventTarget (domenic著, ) https://github.com/whatwg/dom/commit/c4c1c8b47340a1e5ecc1a07670927b831f240586
[88] Note retargeting usage in Fullscreen (annevk著, ) https://github.com/whatwg/dom/commit/7a771ad2bd086b2938340085333b6960226a27ca
[89] Consider moving "retargeting" to the dispatch section · Issue #620 · whatwg/dom () https://github.com/whatwg/dom/issues/620
[90] Note retargeting usage in Fullscreen by annevk · Pull Request #630 · whatwg/dom () https://github.com/whatwg/dom/pull/630
[91] Standardize window.event (miketaylr著, ) https://github.com/whatwg/dom/commit/c69d7c0fb8796de884652c517825122d12901ef5
[92] Avoid setting target to the Window object (annevk著, ) https://github.com/whatwg/dom/commit/0b04ae848b27f9eaf6f0bd17ecaff0bd7f833068
[93] Dispatch event always set the event.target to the global object after dispatch · Issue #697 · whatwg/dom () https://github.com/whatwg/dom/issues/697
[94] Avoid setting target to the Window object by annevk · Pull Request #698 · whatwg/dom () https://github.com/whatwg/dom/pull/698