DOM イベントモデルをサポートする実装において、 EventTarget インターフェイスは、全 Node によって実装される。それゆえ、このインターフェイスは、キャスティングメソッドによって Node インターフェイスのインスタンス上に獲得される。インターフェイスは EventTarget 上の の登録と削除、そして EventTarget へのイベントの送信を許可する。
addEventListener( type, listener, useCapture )このメソッドは、イベントターゲット上のイベントリスナーの登録を許可する。イベント処理中に EventListener が EventTarget に加えられる場合、それは現在のアクションで発動しないが、bubbling フェイズのようなイベントフロー後の段階中では発動してよい。
多数の同一の EventListener が、同じパラメータと同じ EventTarget 上に登録される場合、余分のインスタンスは廃棄される。それらは EventListener が 2 回呼ばれることにはならず、また廃棄されるため removeEventListener メソッドで取り除く必要はない。
EventTarget に送信される前に、登録された EventListener へ送信される。ツリーを通して上方にバブルするイベントは キャプチャ使用を指定された EventListener を誘発しない。(無し)
dispatchEvent( evt )イベントを送信する。この方法で送信されたイベントは、実装によるダイレクトに送信されるイベントと、キャプチャ及びバブルの振る舞いは同じである。イベントのターゲットは dispatchEvent がその上に呼ばれる EventTarget である。
boolean 型。preventDefault を呼ばれたイベントをハンドルしたリスナーかどうか。preventDefault が呼ばれた場合は false、そうでなければ true。
dispatchEvent が呼ばれる前に、イベントの初期化によって Event の型が指定されなかった場合に発生。null または空文字列による Event の型の指定でも発生する。removeEventListener( type, listener, useCapture )イベントターゲットからイベントリスナーを取り除く。イベント処理中に EventTarget から EventListener が取り除かれる場合、イベントリスナーは現在のアクションによって誘発されない。取り除かれた後、EventListener は呼び出されることはない。
EventTarget 上に現在登録されている、どの EventListener とも一致しない引数を伴う removeEventListener の呼び出しは、何の効果も及ぼさない。
EventListener のイベント型。EventListener。EventListener がキャプチャリングリスナーとして登録されたかどうか。リスナーが 2 度登録され、一方はキャプチャでもう一方はそうでない場合、それぞれ別個に削除されなければならない。キャプチャリングリスナーの削除は、同じリスナーのキャプチャしないバージョンに影響せずその逆も正しい。(無し)
// Introduced in DOM Level 2:
interface EventTarget {
void addEventListener(in DOMString type,
in EventListener listener,
in boolean useCapture);
void removeEventListener(in DOMString type,
in EventListener listener,
in boolean useCapture);
boolean dispatchEvent(in Event evt)
raises(EventException);
};