[24] DOM イベントは、 HTML文書や
XMLHttpRequest
をはじめとする Webプラットフォームのオブジェクトにおける事象モデルです。
[60] 新たに DOM に追加されるほとんどのイベントは、 スクリプトとは別のタスクによって dispatch される (つまりスクリプトから見て非同期に dispatch される) 形になっています。
[41] DOMイベントは Netscape Navigator 2.0 の最初の JavaScript の頃から存在し、
すべての利用者エージェントに実装されました (on*
属性)。 IE4 と Netscape4
によって大幅に拡張・一般化されましたが、両者の実装は完全に異なっていました。更に
W3C はそれらを元にどちらとも異なる仕様をDOM2イベントとして標準化しました。
Netscape4 はすぐに衰退しましたが、しばらくは W3C と IE
の2つのイベント・モデルが存在し混乱のもととなっていました。
[42] その後 W3C はDOM2イベントを拡張した
DOM3イベントの標準化を進めましたが十分な支持を得られず、一旦は中止されることになります。
実用性に乏しい新機能を排除して現実的な仕様として再開されましたが作業は遅々として進まず、
DOM4、後の WHATWG DOM Standard によって改めて
Webブラウザーの挙動に基づき仕様が全面改訂されるに至り、
on*
属性を規定する HTML Standard と合わせ、
はじめてDOMイベントの仕様が実装可能なレベルで詳細に文書化されることと相成りました。
HTML 4 は、内在事象属性として、 DOM 0 の事象モデルの中心的な部分を取り入れています。 ただし、詳細な事象モデルの規定はなく、 個々の事象がいつ発生するのか簡単に述べられているだけです。
[1] DOM2 イベントは、 W3C で最初に標準化された DOM イベント仕様です。 2000年11月に W3C 勧告になりました。 DOM 0 とは異なり、事象の処理が (比較的) 正確に規定されていますが、 DOM 0 とは (矛盾はしないものの) 異なる仕様となっており、 結局 DOM 0 の事象関係は曖昧なままとなってしまいました。
[2] DOM 水準 3・事象 IW:DOM3:"Events/"
DOM 水準 2 事象の次の水準です。十分な反応が得られなかったために Last Call WD の後に2003年11月に WG Note になりました。この仕様自体は勧告に至らなかったとはいえ、 DOM 水準3・中核の勧告や SVG 1.2 などから参照されています。 技術的には、 DOM 水準 2 に比べると、事象名が単なる名前から名前空間URI と局所名の組に改められたり、 DOM 水準 2 で勧告前に省かれた文字(列)入力に関する事象が加えられたりしています。 仕様書の説明もより整理されたものとなっています。
[8] XML 事象 http://www.w3.org/TR/xml-events
XML事象は、事象聴取器を XML 文書中に記述する構文の規定です。 2003年10月に W3C 勧告になっています。 DOM 水準2・事象に基づいて規定されていますが、 DOM 水準3・事象勧告や SVG 1.2 によれば DOM 水準3と使って良いようです。 機能的・意味的には DOM 水準 0 の各種の事象記述の構文の後継になっていますが、 互換性はまったくありません (お互いに矛盾はしません)。
[10] SVG IW:SVG1:"", http://www.w3.org/TR/SVG12/
SVG は、 HTML 4 のように内在事象属性を規定しています。 HTML とは異なり、 DOM との関係などについても明確に規定があります。 SVG 1.0 と SVG 1.1 は DOM 水準2・事象と SMIL アニメーションに基づいています。 SVG 1.2 は DOM 水準3・事象, XML 事象, SMIL アニメーション, sXBL に基づいています。
[12] XBL - XML Binding Language http://www.w3.org/TR/xbl/, SVG's XML Binding Language (sXBL) http://www.w3.org/TR/sXBL/
XBL, sXBL は影内容と事象の関係について規定しています。
[14] Web Applications 1.0 http://whatwg.org/specs/web-apps/current-work/#server-sent はネットワークを通じて DOM 事象を転送する方法を提案しています。 (名無しさん)
[17] Remote Events for XML (REX) 1.0 http://www.w3.org/TR/rex/
>>14 と同じような目的のものだけど、例によって >>14 は単純で大体うまくいくもの、こちらは完璧に何でもできることを目指したものみたいです。
現時点の仕様案では >>14 は変異事象を必ずしもうまく扱えませんが、 >>14 は変異事象しか規定されていません。 (名無しさん 2006-02-09 02:43:39 +00:00)
[64] KS X 6047-3:2011 は DOM2 Events の KS 版。
[3] DOM 水準3・中核 IW:DOM3:"Core/"
DOM 木の操作による変異事象に関する規定が含まれています。
また、 DOM 事象モデルとは異なる、 DOMError
や DOMUserDataHandler
のような似たような処理の仕組みが規定されています。
[4] DOM 水準3・読込みおよび保存 IW:DOM3:"LS/"
読込みや保存に関する事象についての規定が含まれています。
XForms 1.0 は、 DOM 水準2・事象を基にした処理モデルを規定しています。
[9] SMIL Animation http://www.w3.org/TR/smil-animation
SMIL Animation は DOM 水準2・事象に基づいて構築されています。 (SVG 1.2 によれば水準3として使うことはできないようです。)
[13] XUL http://www.xulplanet.com/references/elemref/ref_EventHandlers.html
XUL は内在事象属性や DOM 事象を定義しています。
[15] [DASE] DTV A S E L 1 (DASE-1) P 2: D A E ATSC Standard http://www.atsc.org/standards/a_100_2.pdf は DOM水準2・事象を基にして、 鍵盤関連の事象などを定義しています。
(名無しさん [sage])
[16] EMMA: Extensible MultiModal Annotation markup language (Last Call) http://www.w3.org/TR/2005/WD-emma-20050916/#appD
(名無しさん)
[18] Media Access Events http://www.w3.org/TR/2006/WD-MediaAccessEvents-20061013/ (名無しさん 2006-10-13 23:23:33 +00:00)
[21] List of events - ESW Wiki ( 版) http://esw.w3.org/topic/List_of_events (名無しさん 2007-04-28 04:23:16 +00:00)
[5] VoiceXML 2.0 http://www.w3.org/TR/voicexml20/
DOM 水準3・事象は使用例として VoiceXML 2.0 を挙げています。 しかし、実際には VoiceXML 2.0 勧告が規定しているものは (DOM 水準3・事象モデルとは矛盾していないものの) 異なる事象モデルです。
[6] RDF/XML Syntax Specification http://www.w3.org/TR/rdf-syntax-grammar/
RDF/XML は規定の方法として (あるいは RDF/XML 文書から RDF グラフを構築する手段として) 事象モデルを定義しています。この事象モデルは DOM のものではなく、 SAX のものを基にしています。
[49] DOMイベントと似ているものの DOMイベントを使わない、使わないようになったようなものとして、 次のものがあります。
[19]
作って納得! DOM 2 Events: Days on the Moon (2007-03-25 14:31:59 +09:00
版) http://nanto.asablo.jp/blog/2007/03/23/1339498
(名無しさん 2007-03-25 05:38:02 +00:00)
[20]
DOM Events とブラウザの実装: Days on the Moon (2007-03-25 14:37:03 +09:00
版) http://nanto.asablo.jp/blog/2007/03/23/1339502
(名無しさん 2007-03-25 05:42:38 +00:00)
[22] Touch and gestures events (Olli Pettay 著, 版) http://lists.w3.org/Archives/Public/www-dom/2009AprJun/0134.html
[23] IRC logs: freenode / #whatwg / 20100625 ( 版) http://krijnhoetmer.nl/irc-logs/whatwg/20100625
[25] IRC logs: freenode / #whatwg / 20110212 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20110212
[26] IRC logs: freenode / #whatwg / 20110213 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20110213
[27] IRC logs: freenode / #whatwg / 20110215 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20110215#l-644
[28] IRC logs: freenode / #whatwg / 20110221 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20110221
[29] IRC logs: freenode / #whatwg / 20110223 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20110223
[30] IRC logs: freenode / #whatwg / 20110301 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20110301
[31] IRC logs: freenode / #whatwg / 20110303 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20110303
[32] IRC logs: freenode / #whatwg / 20110607 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20110607#l-492
[33] IRC logs: freenode / #whatwg / 20110802 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20110802
[34] Web Applications 1.0 r6551 Update Event interfaces to use constructors instead of init*Event methods; remove some typedefs. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=6550&to=6551
[35] Compound Document by Reference Framework 1.0 ( ( 版)) http://www.w3.org/TR/CDR/#events
[36] IRC logs: freenode / #whatwg / 20130105 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20130105
[37] Delivery Context: Client Interfaces (DCCI) 1.0 ( ( 版)) http://www.w3.org/TR/2007/CR-DPF-20071221/#sec-events
[38] XBL 2.0 ( ( 版)) http://dev.w3.org/2006/xbl2/Overview.html#event-handlers
[39] IRC logs: freenode / #whatwg / 20130220 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20130220
[40] DOM4 Events ( ( 版)) http://html5labs.interoperabilitybridges.com/dom4events/
[51] IRC logs: freenode / #whatwg / 20130305 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20130305
[52] Accessible Rich Internet Applications (WAI-ARIA) 1.0 ( ( 版)) http://www.w3.org/WAI/PF/aria/complete#def_event
[53] DOM Event I/O Processor for SCXML ( ( 版)) http://www.w3.org/TR/2015/NOTE-dom-iop-20150806/
[55] 28455 – Add a method to add a one-time event listener ( 版) https://www.w3.org/Bugs/Public/show_bug.cgi?id=28455
[58] IRC logs: freenode / #whatwg / 20121204 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20121204
[59] trunk/Source/WebCore/dom の EventNames.in – WebKit ( 版) http://trac.webkit.org/browser/trunk/Source/WebCore/dom/EventNames.in