From 622e9dfc6c103a52590d5ce0d3e987cf356cd90c Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sun, 30 Jan 2022 17:08:31 +0900 Subject: 2021/12/15 時点の英語版に同期 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ja/web/api/eventtarget/dispatchevent/index.md | 62 +++++++++++++--------- 1 file changed, 38 insertions(+), 24 deletions(-) (limited to 'files/ja/web/api') diff --git a/files/ja/web/api/eventtarget/dispatchevent/index.md b/files/ja/web/api/eventtarget/dispatchevent/index.md index a712cf21cd..320fb9dd63 100644 --- a/files/ja/web/api/eventtarget/dispatchevent/index.md +++ b/files/ja/web/api/eventtarget/dispatchevent/index.md @@ -2,41 +2,55 @@ title: EventTarget.dispatchEvent() slug: Web/API/EventTarget/dispatchEvent tags: - - DOM - - Gecko - - Gecko DOM Reference - - 要更新 + - メソッド + - リファレンス +browser-compat: api.EventTarget.dispatchEvent translation_of: Web/API/EventTarget/dispatchEvent --- -

{{APIRef("DOM Events")}}

+{{APIRef("DOM")}} -

特定の {{domxref("EventTarget")}} に {{domxref("Event")}} をディスパッチし、影響する {{domxref("EventListener")}} を適切な順序で呼び出します。通常のイベント処理ルール(capturing フェーズと任意的な bubbling フェーズを含む)は dispatchEvent() で手動でディスパッチされたイベントにも適用されます。

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

構文

+`dispatchEvent()` の呼び出しは、イベントを発行させるための最後のステップです。イベントは既に {{domxref("Event/Event", "Event()")}} コンストラクターを使って作成され、初期化されているはずです。 -
cancelled = !target.dispatchEvent(event)
-
+> **Note:** このメソッドを呼び出すとき、 {{domxref("Event.target")}} プロパティは現在の `EventTarget` に初期化されます。 - +「ネイティブ」イベントがブラウザーによって発生し、[イベントループ](/ja/docs/Web/JavaScript/EventLoop)を介して非同期にイベントハンドラーを呼び出すのとは異なり、 `dispatchEvent()` はイベントハンドラーを*同期的に*呼び出します。適用可能なすべてのイベントハンドラが呼び出され、 `dispatchEvent()` から戻る前に返されます。 -

もしメソッド呼び出しの前にイベントが初期化されず、イベントのタイプが指定されなかった場合、あるいはイベントのタイプが null または空文字列だった場合、dispatchEventUNSPECIFIED_EVENT_TYPE_ERR を投げます。イベントハンドラから投げられた例外は、キャッチされなかった例外として報告されます。イベントハンドラは入れ子のコールスタック上で実行され、実行が完了するまで呼び出し元をブロックしますが、例外は呼び出し元まで伝播しません。

+## 構文 -

+```js +dispatchEvent(event) +``` -

dispatchEvent は 作成-初期化-ディスパッチ プロセスの最後のステップであり、イベントを実装系のイベントモデルにディスパッチするのに使われます。イベントは document.createEvent メソッドを使って作成され、initEvent メソッド、またはその他の、initMouseEventinitUIEvent といったより具体的な初期化メソッドを使って初期化されます。

+### 引数 -

Event オブジェクトのリファレンスも参照してください。

+- `event` + - : 配信する {{domxref("Event")}} オブジェクトです。この {{domxref("Event.target")}} プロパティは現在の {{domxref("EventTarget")}} に設定されます。 -

+### 返値 -

Creating and triggering events を参照。

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

仕様書

+### 例外 - +- `InvalidStateError` {{domxref("DomException")}} + - : イベントの初期化時に、イベントの種類が指定されなかった場合に発生します。 + +> **Warning:** イベントハンドラーで発生した例外は、捕捉されない例外として報告されます。イベントハンドラーはネストされたコールスタック上で実行されます。イベントハンドラーが完了するまで呼び出し元はブロックされますが、例外は呼び出し元まで伝搬しません。 + +## 例 + +[イベントの作成と起動](/ja/docs/Web/Guide/DOM/Events/Creating_and_triggering_events) を参照してください。 + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- [Event オブジェクトリファレンス](/ja/docs/Web/API/Event) -- cgit v1.2.3-54-g00ecf