[37] Webブラウザーにより生成されるイベントは通常「発火」によって >>32、>>33、>>34 が順に行われ、その後 >>35 が存在すれば実行されることになります。
[38] DOM2 と DOM3 の処理モデルによれば >>32 は createEvent
、
>>33 は initEvent
系メソッド、 >>34 は dispatchEvent
によって実行でき、 >>34 の返り値によって >>35 の実行可否を判断できることになっていました。
現在でも著者による JavaScript コードはこの流れでイベントを実行させられますが、
古い方法となっています。
[39] DOM Standard によれば >>32 と >>33 は Event
のコンストラクターにより実行でき、
>>34 と >>35 は >>38 同様に dispatchEvent
を利用できます。ただし >>37
の場合とは isTrusted
の値が変わりますから、著者による JavaScript
が Webブラウザーと同一のイベントを発生させることは現在ではできなくなっています。
[40] Event
インターフェイスとそれを継承するほとんどのインターフェイスは、
コンストラクターを持ちます。
[41] BeforeUnloadEvent
インターフェイスは、
コンストラクターを持ちません。
[80] イベントオブジェクトの作成は、
イベントコンストラクターによるもの (>>59)、
createEvent
によるもの、
その他利用者エージェントによるものの3通りの方法に大別できます。
[81] 利用者エージェントによるイベントオブジェクトの作成と
createEvent
は、イベントの作成の方法に従ってイベントオブジェクトを作成します。
[47] イベントの作成は、
Event
またはその子インターフェイスイベントインターフェイスと
Realm realm (既定値 null
) について、
次のようにします >>79。
[87] 内部イベント作成手順群は、 イベントインターフェイス、 realm、 時刻、 辞書について、 次のようにします >>79。
[51] イベントの作成とイベントコンストラクターから呼び出されます。
[21] イベントは作成されたあと初期化する必要があります。
初期化により type
, bubbles
,
cancelable
の値が設定されます。またイベント型依存の各種の値も同時に設定されます。
[23] 初期化は派遣フラグが設定されるまでは何度でも行えます。
[24] 初期化は2通りの方法で実行できます。
[27] >>26 は DOM2 から用意されていた方法です。また当初 DOM3
では initEventNS
メソッドも定義されていました。更に、
Event
の子インターフェイスはそれぞれ
initMouseEvent
や initMouseEventNS
のようなメソッドを定義していました。
[28] >>26 は 2012年頃に DOM Standard に追加された方法です。初期の
DOMイベントの実装には存在していません。現在ではこちらの方法を使うのが望ましいとされ、
initEvent
系のメソッドは互換性のために必要なものを除き仕様からも削除されています。
[59] Event
インターフェイスとその子インターフェイスは、
一部の例外を除き、コンストラクターを持ちます。
[60] Event
コンストラクター
(new Event
) は引数で
EventInit
辞書を受け取ることができます。
コンストラクターを持つ子インターフェイスも、
それぞれに対応する辞書 () が存在し、それを引数で受け取ることができます。
[53] Event
またはその子インターフェイスインターフェイスのコンストラクターが呼び出されたら、
次のようにしなければなりません >>79。
initEvent
メソッド[62] MessageEvent
インターフェイスの
initMessageEvent
メソッド
は、引数としてイベント型、bubbles、取り消し可能、
data
、
origin
、
lastEventId
、
source
、
ports
を受け取ります >>61。
[2] [whatwg] Enhancement request: change EventSource to allow cross-domain access ( ( 版)) http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-June/032152.html
[3] Simplified initializing of synthetic events — Anne’s Blog ( 版) http://annevankesteren.nl/2011/06/initializing-events
[4] Simplified initializing of synthetic events — Anne’s Blog ( 版) http://annevankesteren.nl/2011/06/initializing-events
[5] IRC logs: freenode / #whatwg / 20110926 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20110926
[6] XBL 2.0 ( ( 版)) http://dev.w3.org/2006/xbl2/Overview.html#the-eventxbl-interface
[42] Editorial: define Event attribute defaults through IDL · whatwg/html@0be0229 ( 版) https://github.com/whatwg/html/commit/0be02299f128cbb7c65a7ce259fdd838fd44a4b5
[43] Change IDL for OnErrorEventHandlerNonNull from column to colno by zcorpan · Pull Request #1331 · whatwg/html ( ()) https://github.com/whatwg/html/pull/1331
[45] Editorial: provide a shorthand for other specifications to create events (annevk著, ) https://github.com/whatwg/dom/commit/e728c11c4aeab35573f0d77270066202f8739475
[46] Add a realm argument to "create an event" (domenic著, ) https://github.com/whatwg/dom/commit/64444fad86d3820663744a876e92ce69276313db
[54] Editorial: use "creating an event" more and refactor click() (annevk著, ) https://github.com/whatwg/html/commit/467b98781f82f6bf1a91fad435982ff27d8d9999
[57] Check dispatch flag before initializing https://www.w3.org/Bugs/Public/s... · ccacdec · whatwg/dom ( 版) https://github.com/whatwg/dom/commit/ccacdec1b3c99019677e8737c8f8550583984e67
[58] Fix issue 44: initFocusEvent not needed · w3c/uievents@b5c7942 ( 版) https://github.com/w3c/uievents/commit/b5c7942ee5b75ae7e213f12107a12ae0ce2e84fb
[63] Web Applications 1.0 r8711 Add initMessageEvent() ( ( 版)) http://html5.org/r/8711
[64] Tweak nullability in initMessageEvent() and MessageEventInit · whatwg/html@99f79f2 ( 版) https://github.com/whatwg/html/commit/99f79f20c4033d0db4bc4e5c9609c6a3e23cbbe0
[65] Use USVString for all URLs ( (domenic著, )) https://github.com/whatwg/html/commit/018b983b77b2cd908f6d00100e7e0abe893dd2c3
[66] Make initEvent()/initCustomEvent() arguments optional except the first (cdumez著, ) https://github.com/whatwg/dom/commit/23587350d4ba2bb878ffdd4e94a8050213b71751
[67] Specify the arguments of initCompositionEvent() · Issue #134 · w3c/uievents () https://github.com/w3c/uievents/issues/134
[68] Specify the arguments of initMouseEvent() · Issue #136 · w3c/uievents () https://github.com/w3c/uievents/issues/136
[69] Clearly specify initUIEvent · Issue #133 · w3c/uievents () https://github.com/w3c/uievents/issues/133
[70] Make parameters to initMessageEvent() optional except the first (cdumez著, ) https://github.com/whatwg/html/commit/2dafd2fbf9b08e58f126b112ef26aff4cb84b954
[71] Make Event's timeStamp use DOMHighResTimeStamp (majido著, ) https://github.com/whatwg/dom/commit/912d58746bc4c67c2fd210124639f7c34991fce5
[73] Make Event's timeStamp use DOMHighResTimeStamp (majido著, ) https://github.com/whatwg/dom/commit/912d58746bc4c67c2fd210124639f7c34991fce5
[75] Expose Event and EventTarget to AudioWorklet (hoch著, ) https://github.com/whatwg/dom/commit/601655d48abe3979200e42cefad60cdf0d752693
[76] [audioworklet] Ensure MessagePort is exposed in audio worklets · Issue #1266 · WebAudio/web-audio-api () https://github.com/WebAudio/web-audio-api/issues/1266
[77] Expose Event, EventTarget to AudioWorklet · Issue #515 · whatwg/dom () https://github.com/whatwg/dom/issues/515
[78] Fix 515: Expose Event, EventTarget to AudioWorklet by hoch · Pull Request #516 · whatwg/dom () https://github.com/whatwg/dom/pull/516
[52] Make the two ways of event creation share a path (annevk著, ) https://github.com/whatwg/dom/commit/0283565d2a3f767befd368248b788b5f5803baf2
[95] Make the two ways of event creation share a path by annevk · Pull Request #603 · whatwg/dom () https://github.com/whatwg/dom/pull/603
[96] Define event constructing steps (annevk著, ) https://github.com/whatwg/dom/commit/4c95d89624f695e9d74fd545b004ae85ca3cd6b6
[98] "create an event" doesn't work for certain UI events · Issue #414 · whatwg/dom () https://github.com/whatwg/dom/issues/414
[99] Define event constructing steps by annevk · Pull Request #614 · whatwg/dom () https://github.com/whatwg/dom/pull/614
[100] Define "event constructing steps" for complicated events · Issue #194 · w3c/uievents () https://github.com/w3c/uievents/issues/194
[101] Define init*Event() methods imperatively · Issue #191 · w3c/uievents () https://github.com/w3c/uievents/issues/191
[9] Add initStorageEvent() (foolip著, ) https://github.com/whatwg/html/commit/18ca10633ffbcbe2a95dd1d42dfb04c798cc5700
[10] Add more init*Event()? · Issue #1054 · whatwg/html () https://github.com/whatwg/html/issues/1054
[102] Add initStorageEvent() by foolip · Pull Request #4063 · whatwg/html () https://github.com/whatwg/html/pull/4063
[103] Align with IDL dictionary changes (annevk著, ) https://github.com/whatwg/dom/commit/c15e65f193ab7561485606158c72f491c67f4b11
[104] Align with IDL constructor changes (autokagami著, ) https://github.com/whatwg/dom/commit/57512fac17cf2f1c4c85be4aec178c8086ee5ee4
[105] Update to constructor operations · Issue #780 · whatwg/dom () https://github.com/whatwg/dom/issues/780