EventTarget: dispatchEvent() メソッド

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

メモ: この機能はウェブワーカー内で利用可能です。

dispatchEvent()EventTarget のメソッドで、 Event をそのオブジェクトへ送り、関連するイベントリスナーを(同期的に)適切に起動させます。通常のイベント処理ルール(キャプチャとオプションのバブリングフェーズを含む)は dispatchEvent() で手動で配信されたイベントにも適用されます。

dispatchEvent() の呼び出しは、イベントを発行させるための最後のステップです。イベントは既に Event() コンストラクターを使って作成され、初期化されているはずです。

メモ: このメソッドを呼び出すとき、 Event.target プロパティは現在の EventTarget に初期化されます。

「ネイティブ」イベントがブラウザーによって発生し、イベントループを介して非同期にイベントハンドラーを呼び出すのとは異なり、 dispatchEvent() はイベントハンドラーを同期的に呼び出します。適用可能なすべてのイベントハンドラーが呼び出され、 dispatchEvent() から戻る前に返されます。

構文

js
dispatchEvent(event)

引数

event

配信する Event オブジェクトです。この Event.target プロパティは現在の EventTarget に設定されます。

返値

event がキャンセル可能で、かつ event を受け取ったイベントハンドラーの少なくとも 1 つが Event.preventDefault() を呼び出した場合は false となります。それ以外の場合は true です。

例外

InvalidStateError DomException

イベントの初期化時に、イベントの種類が指定されなかった場合に発生します。

警告: イベントハンドラーで発生した例外は、捕捉されない例外として報告されます。イベントハンドラーはネストされたコールスタック上で実行されます。イベントハンドラーが完了するまで呼び出し元はブロックされますが、例外は呼び出し元まで伝搬しません。

イベントの作成と起動 を参照してください。

仕様書

Specification
DOM
# ref-for-dom-eventtarget-dispatchevent③

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
dispatchEvent

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連情報