[1] [DFN[[RUBYB[イベント型] [Event type]]]]は、[[DOMイベント]]の種類です。 [[イベント]]の[DFN[[RUBYB[[[名前]]]@en[name]]]]とも呼ばれます [SRC[>>22]]。 * 仕様書 [REFS[ - [20] '''[CITE@en-US[DOM Standard]] ([TIME[2013-04-26 20:00:45 +09:00]] 版) ''' - [22] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2013-04-30 04:07:36 +09:00]] 版) ]REFS] * 構成 [18] [[DOM 2]] と [[XML事象]]では、事象型は [[XML 1.0]] の [CODE(ABNF)[[[Name]]]] によって表されます。 [[DOM 3]] では、事象型は[[名前空間URI]] と[[局所名]]によって表され、 XML 事象の [CODE(XMLa)[[[event]]]] 属性に [CODE(char)[:]] が含まれているときは[[修飾名]]と解釈することを勧めています。 [2] DOM 2 および DOM 3 では、様々な事象が定義されています。 * [CODE(DOMa)@en[type]] 属性 [19] [CODE(DOMi)@en[[[Event]]]] [[オブジェクト]]の [DFN[[CODE(DOMa)@en[[[type]]]]]] [[属性]]は、当該[[イベント]]の[[イベント型]]を返します。 [SRC[>>20]] [21] [[イベント]]の作成直後は[[空文字列]]となります [SRC[>>20]]。 [[初期化]]された際に値が割り当てられます。 * イベント型の一覧 [3] XML 事象仕様書の例示中に出てくる事象型名一覧: - [CODE[[[activate]]]] - [CODE[[[alert]]]] - [CODE[[[click]]]] - [CODE[[[enterforward]]]] - [CODE[[[help]]]] - [CODE[[[hint]]]] - [CODE[[[nomatch]]]] - [CODE[[[overflow]]]] - [CODE[[[q-submit]]]] - [CODE[[[submit]]]] [5] [DASE] [CITE[DTV A S E L 1 (DASE-1) P 2: D A E ATSC Standard]] - [CODE(DOM)[[[org.atsc.keydown]]]] - [CODE(DOM)[[[org.atsc.keyup]]]] - [CODE(DOM)[[[org.atsc.resourcechanged]]]] - [CODE(DOM)[[[org.atsc.textinput]]]] [6] - [CODE(DOMe)@en[[[OAnimationStart]]]] - [CODE(DOMe)@en[[[OAnimationFinish]]]] - [CODE(DOMe)@en[[[OAnimationFrame]]]] - [CODE(DOMe)@en[[[OAnimationFrame]]]] ;; [CITE@en[Opera Widgets documentation: Animation library]] ([[名無しさん]] [sage] [WEAK[2006-02-08 02:53:25 +00:00]]) [7] [CODE(DOMe)@en[[[DOMContentLoaded]]]] ([[名無しさん]] [sage]) [8] [CODE(DOMe)@en[[[khtmlHorizontalWheel]]]] ([[名無しさん]] [sage]) [9] [CITE@EN[Content Selection for Device Independence (DISelect) 1.0]] ([CODE[2007-07-16 22:52:02 +09:00]] 版) - [CODE(DOMe)@en[[[diselect-invalid-type-error]]]] - [CODE(DOMe)@en[[[diselect-redeclaration-error]]]] - [CODE(DOMe)@en[[[diselect-declaration-exception]]]] - [CODE(DOMe)@en[[[diselect-compute-exception]]]] ([[名無しさん]]) [14] [CODE(DOMe)@en[[[dominitialize]]]] ([[名無しさん]]) [15] [[OpenDocument]] 1.0 form:approveaction form:performaction form:textchange form:itemstatechange form:mousedrag form:approvereset form:approveupdate form:update form:load form:startrealod form:reload form:startunload form:unload form:confirmdelete form:approverowchange form:rowchange form:approvecursormove form:cursormove form:supplyparameter form:error form:adjust [[#comment]] * 名前空間 [4] DOM 水準 2 では事象名は一つの名前でしたが、 DOM 水準 3 では名前空間と局所名の組として再定義されています。 このため、 DOM 水準 3 では [Q[NS]] 系メソッドが追加されたとか、 互換性のための特別な措置が規定されています。 - DOM 水準 2 の事象は、名前空間 [CODE(DOM)[[[null]]]] とします。 - 名前空間 [CODE(DOM)[null]] の事象が発生した時には、 実行する[[事象聴取器]]の選択には、局所名のみを使います。 - 名前空間ありの事象が発生した時には、 事象聴取器の選択の際に、名前空間 [CODE(DOM)[null]] の事象聴取器は局所名だけを比較します。 - [CODE(DOMm)[[[removeEventListener]]]] は、 局所名だけで削除する事象聴取器を選んでも構いません。 名前空間付きの事象聴取器がすべて削除されてしまうか、 どれも削除されないかは実装依存です。 問題が起こらないように [CODE(DOMm)[[[removeEventListenerNS]]]] を使うべきです。 この措置により、多くの場合には名前空間の有無に関わらず意図した通りに動作するでしょうが、 名前空間を使うメソッドと使わないメソッドの混用は不要な混乱を招く虞がありますから、 好ましくありません。 常に名前空間付きのメソッドを使うのが好ましいでしょう。 [10] >>4 のように 2003年の [[DOM WG]] の[[DOM水準3]] [[事象]][[モジュール]]の [[Note]] には書かれていましたが、その後 [[Web API WG]] によりこの部分は改訂されています。 [[名前空間]]非対応の[[メソッド]]は[[名前空間]]対応の[[メソッド]]で[[名前空間]]として [CODE(DOM)@en[[[null]]]] を指定したのと同じことになります。 そのように明確に定義されたことにより、両者の混用は望ましくないとする注記も削除されています。 ([[名無しさん]]) [[#comment]] * メモ [11] [[DOM水準2]] [[事象]]では、[[事象型]]は1つの[[名前]]により[[識別]]されるとされていました。この[[名前]]は [[XML 1.0]] の [CODE(XML)@en[[[Name]]]] でなければならないとされていました。 また、[[大文字]]・[[小文字]]を区別しないとされていました。 更に、 [CODE(DOMe)@en[[[DOM]]]] で始まる[[名前]]は将来の [[DOM]] の[[事象]]のために[[予約]]されていました。 加えて、第3者が[[事象]]を追加する場合には[[名前]]の衝突を防ぐための[[接頭辞]]をつけることが強く[[推奨]]されていました。 ([[名無しさん]]) [12] 2003年の[[DOM WG]] [[Note]] の[[DOM水準3]] [[事象]]では、 [[事象型]]は[[名前空間URI]]と[[局所名]]の組により[[識別]]されるとされていました。 [[局所名]]は [[XML名前空間 1.0]] の [CODE(XML)@en[[[NCName]]]] であるべきだとされていました。[[大文字]]・[[小文字]]は区別するようになっており、 [[接頭辞]]に関する言及もなくなっていました。 ([[名無しさん]]) [13] [[Web API WG]] の [[DOM水準3]] [[事象]]によれば、 [[事象型]]は[[名前空間URI]]と[[局所名]]の組により[[識別]]されます。 ただし、どの[[名前空間]]にも属さない ([[null名前空間]]に属する) こともあります。[[局所名]]は [[XML名前空間 1.1]] の [CODE(XML)@en[[[NCName]]]] でなければならないとされています。 [[大文字]]・[[小文字]]は区別します。 [16] [[Firefox]] [[bfcache]] -[[pageshow]] -[[pagehide]] [17] [CITE@EN[XForms 1.1]] ([TIME[2009-10-20 22:51:54 +09:00]] 版) [23] [CITE@en[Web Applications 1.0 r8385 Add an event index which acts as the definition of the event names, for editorial purposes (event names are really just strings, so they don't have, or need, a normative definition per se).]] ( ([TIME[2014-01-09 08:55:00 +09:00]] 版)) [24] [CITE[IRC logs: freenode / #whatwg / 20140108]] ( ([TIME[2014-01-09 22:07:16 +09:00]] 版))