* 仕様書
[REFS[
- [7] [CITE@en-US[DOM Standard]] ([TIME[2013-04-26 20:00:45 +09:00]] 版) <https://dom.spec.whatwg.org/#interface-event>
-- [79] [CITE@en[DOM Standard]] ([TIME[2018-03-16 19:20:53 +09:00]]) <https://dom.spec.whatwg.org/#constructing-events>
- [61] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2016-12-13 09:04:33 +09:00]]) <https://html.spec.whatwg.org/#dom-messageevent-initmessageevent>
]REFS]

* 状態

[8] [[イベント]]は次の状態を持ちます。
[FIG(list members)[
:[[インターフェイス]]:[CODE(DOMi)@en[[[Event]]]] か、それを[[継承]]した[[インターフェイス]]を使います。
: [F[型][イベント型]] :
: [F[対象][イベント対象]] :
:[11] [CODE(DOMa)@en[[[currentTarget]]]] [[属性]]:
:[29] [CODE(DOMa)@en[[[bubbles]]]]:
:[30] [CODE(DOMa)@en[[[cancelable]]]]:
:[12] [[伝播停止フラグ]]:
:[13] [[直ちに伝播停止フラグ]]:
:[14] [[取り消し済みフラグ]]:
:[15] [[初期化済みフラグ]]:
:[16] [[派遣フラグ]]:
: [F[[[受動的リスナー内フラグ]]]] :
[[受動的]]な[[イベントリスナー]]の処理中かどうかのフラグです。
[CODE(DOMm)@en[[[preventDefault]]]] [[メソッド]]の動作に影響します。
:[17] [CODE(DOMa)@en[[[isTrusted]]]] [[属性]]:
:[18] [CODE(DOMa)@en[[[timeStamp]]]] [[属性]]:
: [F[相]] : [[capturing]], [[at target]], [[bubbling]] のどの段階かを表します。
: [F[経路][イベント経路]] :
: [F[合成フラグ]] :
: [F[関連対象]] :
: [F[item-in-shadow-tree]] : 
]FIG]

[19] [CODE(DOMi)@en[[[Event]]]] を[[継承]]する子インターフェイスは、
それぞれの追加の状態を持ちます。

* メンバー

[44] [CODE(DOMi)@en[Event]] [[インターフェイス]]は次の[[メンバー]]を持ちます。
[FIG(short list)[
- [CODE(DOMa)@en[composed]]
- [CODE(DOMa)@en[currentTarget]]
- [CODE(DOMa)@en[eventPhase]]
- [CODE(DOMa)@en[target][event target]]
- [CODE(DOMa)@en[srcElement]]
- [CODE(DOMc)@en[NONE][eventPhase]]
- [CODE(DOMc)@en[CAPTURING_PHASE]]
- [CODE(DOMc)@en[AT_TARGET]]
- [CODE(DOMc)@en[BUBBLING_PHASE]]
- [CODE(DOMa)@en[cancelBubble]]
- [CODE(DOMa)@en[returnValue]]
]FIG]

* 子インターフェイス

[20] [CODE(DOMi)@en[[[Event]]]] を[[継承]]した子インターフェイスはたくさんあります。
[FIG(short list)[
- [CODE(DOMi)@en[[[CloseEvent]]]]
- [CODE(DOMi)@en[[[CustomEvent]]]]
- [CODE(DOMi)@en[[[KeyboardEvent]]]]
- [CODE(DOMi)@en[[[MouseEvent]]]]
- [CODE(DOMi)@en[[[MutationEvent]]]]
- [CODE(DOMi)@en[[[ProgressEvent]]]]
- [CODE(DOMi)@en[[[UIEvent]]]]
- [CODE(DOMi)@en[[[ErrorEvent]]]]
- [CODE(DOMi)@en[[[PopStateEvent]]]]
- [CODE(DOMi)@en[[[HashChangeEvent]]]]
- [CODE(DOMi)@en[[[PageTransitionEvent]]]]
- [CODE(DOMi)@en[[[PromiseRejectionEvent]]]]
- [CODE(DOMi)@en[[[BeforeUnloadEvent]]]]
- [CODE(DOMi)@en[DeviceOrientationEvent]]
- [CODE(DOMi)@en[DeviceMotionEvent]]
- [CODE(DOMi)@en[MessageEvent]]

[HISTORY[
- [CODE(DOMi)@en[AutocompleteErrorEvent]]
- [CODE(DOMi)@en[LSProgressEvent]]
- [CODE(DOMi)@en[SVGZoomEvent]]
- [CODE(DOMi)@en[UIRequestEvent]]
]HISTORY]
]FIG]

* イベントの生涯

[31] [[イベント]]は次のように進行します。
[FIG(steps)[
= [32] [[イベントの作成]]
= [33] 初期化 (>>21)
= [34] [[dispatch]]
= [35] [[既定動作]]
]FIG]

;; [36] >>35 は [[DOM3]] までは存在していましたが、 [[DOM Standard]] では明示的に言及していません。
ただし概念的に相当するものは現在も残っています。

[37] [[Webブラウザー]]により生成される[[イベント]]は通常「[[発火]]」によって >>32、>>33、>>34
が順に行われ、その後 >>35 が存在すれば実行されることになります。

[38] [[DOM2]] と [[DOM3]] の処理モデルによれば >>32 は [CODE(DOMm)@en[[[createEvent]]]]、
>>33 は [CODE(DOMm)@en[[[initEvent]]]] 系メソッド、 >>34 は [CODE(DOMm)@en[[[dispatchEvent]]]]
によって実行でき、 >>34 の返り値によって >>35 の実行可否を判断できることになっていました。
現在でも[[著者]]による [[JavaScript]] コードはこの流れで[[イベント]]を実行させられますが、
古い方法となっています。

[39] [[DOM Standard]] によれば >>32 と >>33 は [CODE(DOMi)@en[[[Event]]]] の[[コンストラクター]]により実行でき、
>>34 と >>35 は >>38 同様に [CODE(DOMm)@en[[[dispatchEvent]]]] を利用できます。ただし >>37
の場合とは [CODE(DOMa)@en[[[isTrusted]]]] の値が変わりますから、[[著者]]による [[JavaScript]]
が [[Webブラウザー]]と同一の[[イベント]]を発生させることは現在ではできなくなっています。

[40] [CODE(DOMi)@en[[[Event]]]] [[インターフェイス]]とそれを[[継承]]するほとんどの[[インターフェイス]]は、
[[コンストラクター]]を持ちます。

[41] [CODE(DOMi)@en[[[BeforeUnloadEvent]]]] [[インターフェイス]]は、
[[コンストラクター]]を持ちません。

* 作成

[80] [[イベントオブジェクト]]の作成は、
[[イベントコンストラクター]]によるもの (>>59)、
[CODE[createEvent]] によるもの、
その他[[利用者エージェント]]によるものの3通りの方法に大別できます。

-*-*-

[81] [[利用者エージェント]]による[[イベントオブジェクト]]の作成と
[CODE[createEvent]] は、[[イベントの作成]]の方法に従って[[イベントオブジェクト]]を作成します。

[47] [DFN[[RUBYB[イベントの作成]@en[create an event]]]]は、
[CODE[Event]] またはその[[子インターフェイス]][VAR[[[イベントインターフェイス]]]]と
[[Realm]] [VAR[realm]] (既定値 [CODE[null]]) について、
次のようにします [SRC[>>79]]。

[FIG(steps)[
= [83] [VAR[イベント]]を、
[[内部イベント作成手順群]]を実行した結果に設定します。
[FIG(list members)[

: [VAR[イベントインターフェイス]] : [VAR[イベントインターフェイス]]
: [VAR[realm]] : [VAR[realm]]
: [VAR[時刻]] : 
本[[イベント]]の表す事項の発生した[[時刻]]
: [VAR[辞書]] : 
[[JavaScript値]] [CODE[undefined]]
を[VAR[イベントインターフェイス]]の[F[コンストラクター]]の第2引数の[[辞書型]]に[[変換][変換 (Web IDL)]]した結果

]FIG]
= [82] [VAR[イベント]]の [F[[CODE[isTrusted]]]] を、[[真]]に設定します。
= [84] [VAR[イベント]]を返します。
]FIG]

[EG[
[74] 例えば [[Mac OS X]] の[[入力イベント]]由来の場合、
[CODE[NSEvent]] の [CODE[timestamp]] を[VAR[時刻]]として使えます [SRC[>>79]]。
]EG]

;; [85] [CODE[createEvent]] は[[イベントの作成]]で得られた[[イベントオブジェクト]]の
[CODE[isTrusted]] を[[偽]]に設定します。

[55] [[イベントの作成]]は色々な場面で呼び出されます。

[FIG(list middle)[ [86] [[イベントを作成]]する文脈
- [[発火]]
- [[合成マウスイベントを発火]]
- [CODE(DOMe)@en[beforeunload]]
- [CODE(DOMm)@en[postMessage]]
- [CODE(DOMm)@en[createEvent]]
]FIG]

-*-*-

[87] 
[DFN[[RUBYB[内部イベント作成手順群]@en[inner event creation steps]]]]は、
[VAR[[[イベントインターフェイス]]]]、
[VAR[[[realm][Realm]]]]、
[VAR[時刻]]、
[VAR[辞書]]について、
次のようにします [SRC[>>79]]。

[FIG(steps)[
= [88] [VAR[イベント]]を、新しい[[オブジェクト]]に設定します。
=- [VAR[realm]] が [CODE[null]] 以外の場合、
[VAR[realm]] を[[オブジェクト]]の [[Realm]] として使います。
=-
@@ [VAR[realm]] が [CODE[null]] の場合、 [[Web IDL]] の既定の動作とします。
= [89] [VAR[イベント]]の[F[初期化済みフラグ]]を、[[真]]に設定します。
= [90] [VAR[イベント]]の [F[[CODE[timeStamp]]]]
を、
[[時刻起源]]から[VAR[時刻]]までの高精度時刻を表す
[CODE[DOMHighResTimeStamp]] に設定します。
= [48] [VAR[辞書]]の各 ([VAR[名前]]、[VAR[値]]) について、
== [49] [VAR[イベント]]の [F[[VAR[名前]]]] を、 [VAR[値]]に設定します。
= [97] [VAR[イベント]]の[DFN[[RUBYB[イベント構築手順群]@en[event constructing steps]]]]を実行します。
[VAR[イベントインターフェイス]]により、
[FIG(switch)[

: その他の場合 : 何もしません。

]FIG]
= [50] [VAR[イベント]]を返します。
]FIG]

;; [56] [CODE[DeviceMotionEvent]] では初期化の[[辞書]]の[[辞書メンバー]]が[[辞書]]で、
[[IDL属性]]がその[[辞書]]から初期化される[[オブジェクト]]となっていますから、
単なる値のコピーではない操作が必要です。

[51] [[イベントの作成]]と[[イベントコンストラクター]]から呼び出されます。

* 初期化

[21] [[イベント]]は作成されたあと[DFN[[RUBYB[初期化]@en[initialize]]]]する必要があります。
初期化により [CODE(DOMa)@en[[[type]]]], [CODE(DOMa)@en[[[bubbles]]]],
[CODE(DOMa)@en[[[cancelable]]]] の値が設定されます。また[[イベント型]]依存の各種の値も同時に設定されます。

[22] 初期化すると[DFN[[RUBYB[[[初期化済みフラグ]]]@en[initialized flag]]]]が設定されます。

[23] 初期化は[[派遣フラグ]]が設定されるまでは何度でも行えます。

[24] 初期化は2通りの方法で実行できます。
[FIG(list)[
- [25] [CODE(DOMi)@en[[[Event]]]] や子インターフェイスの[[構築子]]により、オブジェクト生成と同時に行う
- [26] [CODE(DOMm)@en[[[initEvent]]]] メソッドで行う
]FIG]

[27] >>26 は [[DOM2]] から用意されていた方法です。また当初 [[DOM3]]
では [CODE(DOMm)@en[[[initEventNS]]]] メソッドも定義されていました。更に、
[CODE(DOMi)@en[[[Event]]]] の子インターフェイスはそれぞれ
[CODE(DOMm)@en[[[initMouseEvent]]]] や [CODE(DOMm)@en[[[initMouseEventNS]]]]
のようなメソッドを定義していました。

[28] >>26 は 2012年頃に [[DOM Standard]] に追加された方法です。初期の 
[[DOMイベント]]の実装には存在していません。現在ではこちらの方法を使うのが望ましいとされ、
[CODE(DOMm)@en[[[initEvent]]]] 系のメソッドは互換性のために必要なものを除き仕様からも削除されています。

* [DFN[イベントコンストラクター]]

[59] [CODE(DOMi)@en[Event]] [[インターフェイス]]とその[[子インターフェイス]]は、
一部の例外を除き、[[コンストラクター]]を持ちます。

@@

[60] [CODE(DOMi)@en[Event]] [[コンストラクター]]
([DFN[[CODE(JS)[new Event]]]]) は[[引数]]で
[DFN[[CODE(DOMi)@en[EventInit]]]] [[辞書]]を受け取ることができます。
[[コンストラクター]]を持つ[[子インターフェイス]]も、
それぞれに対応する[[辞書]] () が存在し、それを[[引数]]で受け取ることができます。

[53] [CODE[Event]] またはその[[子インターフェイス]][VAR[インターフェイス]]の[[コンストラクター]]が呼び出されたら、
次のようにしなければ[MUST[なりません]] [SRC[>>79]]。

[FIG(steps)[
= [72] [VAR[[[イベント型]]]]を、第1引数を [CODE[DOMString]] と解釈した結果に設定します。
= [91] [VAR[辞書]]を、[[辞書型]] ([CODE[EventInit]] またはそれを[[継承]]する[[辞書]]であり、
具体的には[VAR[インターフェイス]]依存。必須か否かも[VAR[インターフェイス]]依存。)
と解釈した結果に設定します。
= [92] [VAR[イベント]]を、[[内部イベント作成手順群]]を実行した結果に設定します。
[FIG(list members)[

: [VAR[[[イベントインターフェイス]]]] : [VAR[インターフェイス]]
: [VAR[[[realm][Realm]]]] : [CODE[null]]
: [VAR[時刻]] : [[現在][現在時刻]]
: [VAR[辞書]] : [VAR[辞書]]

]FIG]
= [93] [VAR[イベント]]の[F[型][イベント型]]を、 [VAR[イベント型]]に設定します。
= [94] [VAR[イベント]]を返します。
]FIG]

@@
[CODE[PushEvent]]

* [CODE[initEvent]] メソッド

@@

[62] [CODE(DOMi)@en[MessageEvent]] [[インターフェイス]]の
[DFN[[CODE(DOMm)@en[initMessageEvent]]]] [[メソッド]]
は、[[引数]]として[F[イベント型]]、[F[bubbles]]、[F[取り消し可能]]、
[F[[CODE(DOMa)@en[data][MessageEvent]]]]、
[F[[CODE(DOMa)@en[origin][MessageEvent]]]]、
[F[[CODE(DOMa)@en[lastEventId]]]]、
[F[[CODE(DOMa)@en[source][MessageEvent]]]]、
[F[[CODE(DOMa)@en[ports]]]] を受け取ります [SRC[>>61]]。

@@ [CODE[initStorageEvent]]

* メンバー

[1]  
,[CODE(DOMa)@en[[[altKey]]]],"[CODE(DOMi)@en[[[HTMLEventObj]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[altLeft]]]],"[CODE(DOMi)@en[[[HTMLEventObj3]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[behaviorCookie]]]],"[CODE(DOMi)@en[[[HTMLEventObj3]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[behaviorPart]]]],"[CODE(DOMi)@en[[[HTMLEventObj3]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[bookmarks]]]],"[CODE(DOMi)@en[[[HTMLEventObj2]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[boundElements]]]],"[CODE(DOMi)@en[[[HTMLEventObj2]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[button]]]],"[CODE(DOMi)@en[[[HTMLEventObj]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[cancelBubble]]]],"[CODE(DOMi)@en[[[HTMLEventObj]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[clientX]]]],"[CODE(DOMi)@en[[[HTMLEventObj]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[clientY]]]],"[CODE(DOMi)@en[[[HTMLEventObj]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[contentOverflow]]]],"[CODE(DOMi)@en[[[HTMLEventObj3]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[ctrlKey]]]],"[CODE(DOMi)@en[[[HTMLEventObj]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[ctrlLeft]]]],"[CODE(DOMi)@en[[[HTMLEventObj3]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[data]]]],"[CODE(DOMa)@en[[[event]]]] ([[JavaScript 1.2]])"
,[CODE(DOMa)@en[[[dataFld]]]],"[CODE(DOMi)@en[[[HTMLEventObj2]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[dataTransfer]]]],"[CODE(DOMi)@en[[[HTMLEventObj2]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[fromElement]]]],"[CODE(DOMi)@en[[[HTMLEventObj]]]] ([[Trident]])"
,[CODE(DOMm)@en[[[getAttribute]]]],"[CODE(DOMi)@en[[[HTMLEventObj2]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[height]]]],"[CODE(DOMa)@en[[[event]]]] ([[JavaScript 1.2]])"
,[CODE(DOMa)@en[[[imeCompositionChange]]]],"[CODE(DOMi)@en[[[HTMLEventObj3]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[imeNotifyCommand]]]],"[CODE(DOMi)@en[[[HTMLEventObj3]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[imeNotifyData]]]],"[CODE(DOMi)@en[[[HTMLEventObj3]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[imeRequest]]]],"[CODE(DOMi)@en[[[HTMLEventObj3]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[imeRequestData]]]],"[CODE(DOMi)@en[[[HTMLEventObj3]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[keyboardLayout]]]],"[CODE(DOMi)@en[[[HTMLEventObj3]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[keyCode]]]],"[CODE(DOMi)@en[[[HTMLEventObj]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[layerX]]]],"[CODE(DOMa)@en[[[event]]]] ([[JavaScript 1.2]])"
,[CODE(DOMa)@en[[[layerY]]]],"[CODE(DOMa)@en[[[event]]]] ([[JavaScript 1.2]])"
,[CODE(DOMa)@en[[[modifiers]]]],"[CODE(DOMa)@en[[[event]]]] ([[JavaScript 1.2]])"
,[CODE(DOMa)@en[[[nextPage]]]],"[CODE(DOMi)@en[[[HTMLEventObj3]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[offsetX]]]],"[CODE(DOMi)@en[[[HTMLEventObj]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[offsetY]]]],"[CODE(DOMi)@en[[[HTMLEventObj]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[pageX]]]],"[CODE(DOMa)@en[[[event]]]] ([[JavaScript 1.2]])"
,[CODE(DOMa)@en[[[pageY]]]],"[CODE(DOMa)@en[[[event]]]] ([[JavaScript 1.2]])"
,[CODE(DOMa)@en[[[propertyName]]]],"[CODE(DOMi)@en[[[HTMLEventObj2]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[qualifier]]]],"[CODE(DOMi)@en[[[HTMLEventObj]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[reason]]]],"[CODE(DOMi)@en[[[HTMLEventObj]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[recordset]]]],"[CODE(DOMi)@en[[[HTMLEventObj2]]]] ([[Trident]])"
,[CODE(DOMm)@en[[[removeAttribute]]]],"[CODE(DOMi)@en[[[HTMLEventObj2]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[repeat]]]],"[CODE(DOMi)@en[[[HTMLEventObj2]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[returnValue]]]],"[CODE(DOMi)@en[[[HTMLEventObj]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[screenX]]]],"[CODE(DOMi)@en[[[HTMLEventObj]]]] ([[Trident]]), [CODE(DOMa)@en[[[event]]]] ([[JavaScript 1.2]])"
,[CODE(DOMa)@en[[[screenY]]]],"[CODE(DOMi)@en[[[HTMLEventObj]]]] ([[Trident]]), [CODE(DOMa)@en[[[event]]]] ([[JavaScript 1.2]])"
,[CODE(DOMm)@en[[[setAttribute]]]],"[CODE(DOMi)@en[[[HTMLEventObj2]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[shiftKey]]]],"[CODE(DOMi)@en[[[HTMLEventObj]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[shiftLeft]]]],"[CODE(DOMi)@en[[[HTMLEventObj3]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[srcElement]]]],"[CODE(DOMi)@en[[[HTMLEventObj]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[srcFilter]]]],"[CODE(DOMi)@en[[[HTMLEventObj]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[srcUrn]]]],"[CODE(DOMi)@en[[[HTMLEventObj2]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[target]]]],"[CODE(DOMa)@en[[[event]]]] ([[JavaScript 1.2]])"
,[CODE(DOMa)@en[[[toElement]]]],"[CODE(DOMi)@en[[[HTMLEventObj]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[type]]]],"[CODE(DOMi)@en[[[HTMLEventObj]]]] ([[Trident]]), [CODE(DOMa)@en[[[event]]]] ([[JavaScript 1.2]])"
,[CODE(DOMa)@en[[[wheelDelta]]]],"[CODE(DOMi)@en[[[HTMLEventObj4]]]] ([[Trident]])"
,[CODE(DOMa)@en[[[which]]]],"[CODE(DOMa)@en[[[event]]]] ([[JavaScript 1.2]])"
,[CODE(DOMa)@en[[[width]]]],"[CODE(DOMa)@en[[[event]]]] ([[JavaScript 1.2]])"
,[CODE(DOMa)@en[[[x]]]],"[CODE(DOMi)@en[[[HTMLEventObj]]]] ([[Trident]]), [CODE(DOMa)@en[[[event]]]] ([[JavaScript 1.2]])"
,[CODE(DOMa)@en[[[y]]]],"[CODE(DOMi)@en[[[HTMLEventObj]]]] ([[Trident]]), [CODE(DOMa)@en[[[event]]]] ([[JavaScript 1.2]])"


[2] [CITE[''''''[''''''whatwg'''''']'''''' Enhancement request: change EventSource to allow cross-domain access]]
( ([TIME[2011-06-18 08:38:12 +09:00]] 版))
<http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-June/032152.html>

[3] [CITE[Simplified initializing of synthetic events — Anne’s Blog]]
([TIME[2011-06-23 18:44:14 +09:00]] 版)
<http://annevankesteren.nl/2011/06/initializing-events>

[4] [CITE[Simplified initializing of synthetic events — Anne’s Blog]]
([TIME[2011-06-23 18:44:14 +09:00]] 版)
<http://annevankesteren.nl/2011/06/initializing-events>

[5] [CITE[IRC logs: freenode / #whatwg / 20110926]]
( ([TIME[2011-09-28 23:19:21 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20110926>

[6] [CITE@en-US[XBL 2.0]]
( ([TIME[2012-05-03 02:23:03 +09:00]] 版))
<http://dev.w3.org/2006/xbl2/Overview.html#the-eventxbl-interface>

[42] [CITE@en[Editorial: define Event attribute defaults through IDL · whatwg/html@0be0229]]
([TIME[2016-03-23 21:13:32 +09:00]] 版)
<https://github.com/whatwg/html/commit/0be02299f128cbb7c65a7ce259fdd838fd44a4b5>

[43] [CITE@en[Change IDL for OnErrorEventHandlerNonNull from column to colno by zcorpan · Pull Request #1331 · whatwg/html]]
( ([TIME[2016-05-28 13:37:16 +09:00]]))
<https://github.com/whatwg/html/pull/1331>

[45] [CITE@en[Editorial: provide a shorthand for other specifications to create events]]
([[annevk]]著, [TIME[2016-10-24 18:11:36 +09:00]])
<https://github.com/whatwg/dom/commit/e728c11c4aeab35573f0d77270066202f8739475>

[46] [CITE@en[Add a realm argument to "create an event"]]
([[domenic]]著, [TIME[2016-10-27 15:30:55 +09:00]])
<https://github.com/whatwg/dom/commit/64444fad86d3820663744a876e92ce69276313db>

[54] [CITE@en[Editorial: use "creating an event" more and refactor click()]]
([[annevk]]著, [TIME[2016-10-29 03:23:16 +09:00]])
<https://github.com/whatwg/html/commit/467b98781f82f6bf1a91fad435982ff27d8d9999>

[57] [CITE@en[Check dispatch flag before initializing https://www.w3.org/Bugs/Public/s... · ccacdec · whatwg/dom]] ([TIME[2014-11-22 17:42:43 +09:00]] 版) <https://github.com/whatwg/dom/commit/ccacdec1b3c99019677e8737c8f8550583984e67>

[58] [CITE@en[Fix issue 44: initFocusEvent not needed · w3c/uievents@b5c7942]]
([TIME[2016-01-21 11:54:20 +09:00]] 版)
<https://github.com/w3c/uievents/commit/b5c7942ee5b75ae7e213f12107a12ae0ce2e84fb>

[63] [CITE@en[Web Applications 1.0 r8711     Add initMessageEvent()]]
( ([TIME[2014-08-06 07:33:00 +09:00]] 版))
<http://html5.org/r/8711>

[64] [CITE@en[Tweak nullability in initMessageEvent() and MessageEventInit · whatwg/html@99f79f2]]
([TIME[2015-09-03 14:45:41 +09:00]] 版)
<https://github.com/whatwg/html/commit/99f79f20c4033d0db4bc4e5c9609c6a3e23cbbe0>

[65] [CITE@en[Use USVString for all URLs]]
( ([[domenic]]著, [TIME[2016-05-20 22:02:29 +09:00]]))
<https://github.com/whatwg/html/commit/018b983b77b2cd908f6d00100e7e0abe893dd2c3>


[66] [CITE@en[Make initEvent()/initCustomEvent() arguments optional except the first]]
([[cdumez]]著, [TIME[2017-03-07 17:31:38 +09:00]])
<https://github.com/whatwg/dom/commit/23587350d4ba2bb878ffdd4e94a8050213b71751>

[67] [CITE@en[Specify the arguments of initCompositionEvent() · Issue #134 · w3c/uievents]]
([TIME[2017-03-08 14:43:11 +09:00]])
<https://github.com/w3c/uievents/issues/134>

[68] [CITE@en[Specify the arguments of initMouseEvent() · Issue #136 · w3c/uievents]]
([TIME[2017-03-08 14:43:33 +09:00]])
<https://github.com/w3c/uievents/issues/136>

[69] [CITE@en[Clearly specify initUIEvent · Issue #133 · w3c/uievents]]
([TIME[2017-03-08 14:44:12 +09:00]])
<https://github.com/w3c/uievents/issues/133>

[70] [CITE@en[Make parameters to initMessageEvent() optional except the first]]
([[cdumez]]著, [TIME[2017-03-07 17:39:08 +09:00]])
<https://github.com/whatwg/html/commit/2dafd2fbf9b08e58f126b112ef26aff4cb84b954>

[71] [CITE@en[Make Event's timeStamp use DOMHighResTimeStamp]]
([[majido]]著, [TIME[2017-07-13 16:38:55 +09:00]])
<https://github.com/whatwg/dom/commit/912d58746bc4c67c2fd210124639f7c34991fce5>

[73] [CITE@en[Make Event's timeStamp use DOMHighResTimeStamp]]
([[majido]]著, [TIME[2017-07-13 16:38:55 +09:00]])
<https://github.com/whatwg/dom/commit/912d58746bc4c67c2fd210124639f7c34991fce5>

[75] [CITE@en[Expose Event and EventTarget to AudioWorklet]]
([[hoch]]著, [TIME[2017-09-30 18:22:32 +09:00]])
<https://github.com/whatwg/dom/commit/601655d48abe3979200e42cefad60cdf0d752693>

[76] [CITE@en['''['''audioworklet''']''' Ensure MessagePort is exposed in audio worklets · Issue #1266 · WebAudio/web-audio-api]]
([TIME[2017-10-01 16:24:54 +09:00]])
<https://github.com/WebAudio/web-audio-api/issues/1266>

[77] [CITE@en[Expose Event, EventTarget to AudioWorklet · Issue #515 · whatwg/dom]]
([TIME[2017-10-01 16:25:59 +09:00]])
<https://github.com/whatwg/dom/issues/515>

[78] [CITE@en[Fix 515: Expose Event, EventTarget to AudioWorklet by hoch · Pull Request #516 · whatwg/dom]]
([TIME[2017-10-01 16:26:16 +09:00]])
<https://github.com/whatwg/dom/pull/516>

[52] [CITE@en[Make the two ways of event creation share a path]]
([[annevk]]著, [TIME[2018-03-16 16:57:36 +09:00]])
<https://github.com/whatwg/dom/commit/0283565d2a3f767befd368248b788b5f5803baf2>

[95] [CITE@en[Make the two ways of event creation share a path by annevk · Pull Request #603 · whatwg/dom]]
([TIME[2018-03-18 01:00:51 +09:00]])
<https://github.com/whatwg/dom/pull/603>

[96] [CITE@en[Define event constructing steps]]
([[annevk]]著, [TIME[2018-04-06 23:05:05 +09:00]])
<https://github.com/whatwg/dom/commit/4c95d89624f695e9d74fd545b004ae85ca3cd6b6>

[98] [CITE@en["create an event" doesn't work for certain UI events · Issue #414 · whatwg/dom]]
([TIME[2018-04-07 16:02:39 +09:00]])
<https://github.com/whatwg/dom/issues/414>

[99] [CITE@en[Define event constructing steps by annevk · Pull Request #614 · whatwg/dom]]
([TIME[2018-04-07 16:07:15 +09:00]])
<https://github.com/whatwg/dom/pull/614>

[100] [CITE@en[Define "event constructing steps" for complicated events · Issue #194 · w3c/uievents]]
([TIME[2018-04-07 16:07:31 +09:00]])
<https://github.com/w3c/uievents/issues/194>

[101] [CITE@en[Define init*Event() methods imperatively · Issue #191 · w3c/uievents]]
([TIME[2018-04-07 16:08:30 +09:00]])
<https://github.com/w3c/uievents/issues/191>

[9] [CITE@en[Add initStorageEvent()]]
([[foolip]]著, [TIME[2018-10-04 05:47:37 +09:00]])
<https://github.com/whatwg/html/commit/18ca10633ffbcbe2a95dd1d42dfb04c798cc5700>

[10] [CITE@en[Add more init*Event()? · Issue #1054 · whatwg/html]]
([TIME[2018-10-22 01:22:41 +09:00]])
<https://github.com/whatwg/html/issues/1054>

[102] [CITE@en[Add initStorageEvent() by foolip · Pull Request #4063 · whatwg/html]]
([TIME[2018-10-22 01:23:08 +09:00]])
<https://github.com/whatwg/html/pull/4063>

[103] [CITE@en[Align with IDL dictionary changes]]
([[annevk]]著, [TIME[2019-08-09 00:54:02 +09:00]])
<https://github.com/whatwg/dom/commit/c15e65f193ab7561485606158c72f491c67f4b11>

[104] [CITE@en[Align with IDL constructor changes]]
([[autokagami]]著, [TIME[2019-09-24 22:42:56 +09:00]])
<https://github.com/whatwg/dom/commit/57512fac17cf2f1c4c85be4aec178c8086ee5ee4>

[105] [CITE@en[Update to constructor operations · Issue #780 · whatwg/dom]]
([TIME[2020-05-14 14:04:36 +09:00]])
<https://github.com/whatwg/dom/issues/780>