diff options
author | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2022-01-30 17:08:31 +0900 |
---|---|---|
committer | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2022-02-06 18:02:30 +0900 |
commit | 622e9dfc6c103a52590d5ce0d3e987cf356cd90c (patch) | |
tree | 236f126233f69c468910f7dffb9b86af3c3cd690 /files/ja/web/api/eventtarget/dispatchevent | |
parent | a65439dcf1b59eb36d46fc6c4c30c952bf4a7e5c (diff) | |
download | translated-content-622e9dfc6c103a52590d5ce0d3e987cf356cd90c.tar.gz translated-content-622e9dfc6c103a52590d5ce0d3e987cf356cd90c.tar.bz2 translated-content-622e9dfc6c103a52590d5ce0d3e987cf356cd90c.zip |
2021/12/15 時点の英語版に同期
Diffstat (limited to 'files/ja/web/api/eventtarget/dispatchevent')
-rw-r--r-- | files/ja/web/api/eventtarget/dispatchevent/index.md | 62 |
1 files changed, 38 insertions, 24 deletions
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 --- -<p>{{APIRef("DOM Events")}}</p> +{{APIRef("DOM")}} -<p>特定の {{domxref("EventTarget")}} に {{domxref("Event")}} をディスパッチし、影響する {{domxref("EventListener")}} を適切な順序で呼び出します。通常のイベント処理ルール(capturing フェーズと任意的な bubbling フェーズを含む)は <code>dispatchEvent()</code> で手動でディスパッチされたイベントにも適用されます。</p> +**`dispatchEvent()`** は {{domxref("EventTarget")}} のメソッドで、 {{domxref("Event")}} をそのオブジェクトへ送り、関連する {{domxref("EventListener")}} を(同期的に)適切に起動させます。通常のイベント処理ルール(キャプチャとオプションのバブリングフェーズを含む)は `dispatchEvent()` で手動で配信されたイベントにも適用されます。 -<h2 id="Syntax" name="Syntax">構文</h2> +`dispatchEvent()` の呼び出しは、イベントを発行させるための最後のステップです。イベントは既に {{domxref("Event/Event", "Event()")}} コンストラクターを使って作成され、初期化されているはずです。 -<pre class="syntaxbox"><em>cancelled</em> = !<em>target</em>.dispatchEvent(<em>event</em>) -</pre> +> **Note:** このメソッドを呼び出すとき、 {{domxref("Event.target")}} プロパティは現在の `EventTarget` に初期化されます。 -<ul> - <li><code>event</code> は、ディスパッチされる {{domxref("Event")}} オブジェクトです。</li> - <li><code>target</code> は {{domxref("Event", "", "target")}} を初期化し、どのイベントリスナーを呼び出すかを決定するのに使われます。</li> - <li>このイベントを処理した少なくともひとつのイベントハンドラが {{domxref("Event.preventDefault()")}} を呼び出した場合、戻り値は <code>false</code> となります。そうでなければ <code>true</code> となります。</li> -</ul> +「ネイティブ」イベントがブラウザーによって発生し、[イベントループ](/ja/docs/Web/JavaScript/EventLoop)を介して非同期にイベントハンドラーを呼び出すのとは異なり、 `dispatchEvent()` はイベントハンドラーを*同期的に*呼び出します。適用可能なすべてのイベントハンドラが呼び出され、 `dispatchEvent()` から戻る前に返されます。 -<p>もしメソッド呼び出しの前にイベントが初期化されず、イベントのタイプが指定されなかった場合、あるいはイベントのタイプが <code>null</code> または空文字列だった場合、<code>dispatchEvent</code> は <code>UNSPECIFIED_EVENT_TYPE_ERR</code> を投げます。イベントハンドラから投げられた例外は、キャッチされなかった例外として報告されます。イベントハンドラは入れ子のコールスタック上で実行され、実行が完了するまで呼び出し元をブロックしますが、例外は呼び出し元まで伝播しません。</p> +## 構文 -<h2 id="Notes" name="Notes">注</h2> +```js +dispatchEvent(event) +``` -<p><code>dispatchEvent</code> は 作成-初期化-ディスパッチ プロセスの最後のステップであり、イベントを実装系のイベントモデルにディスパッチするのに使われます。イベントは <a href="/ja/docs/Web/API/Document/createEvent">document.createEvent</a> メソッドを使って作成され、<a href="/ja/docs/Web/API/Event/initEvent">initEvent</a> メソッド、またはその他の、<a href="/ja/docs/Web/API/Event/initMouseEvent">initMouseEvent</a> や <a href="/ja/docs/Web/API/Event/initUIEvent">initUIEvent</a> といったより具体的な初期化メソッドを使って初期化されます。</p> +### 引数 -<p><a href="/ja/docs/Web/API/Event">Event オブジェクトのリファレンス</a>も参照してください。</p> +- `event` + - : 配信する {{domxref("Event")}} オブジェクトです。この {{domxref("Event.target")}} プロパティは現在の {{domxref("EventTarget")}} に設定されます。 -<h2 id="Example" name="Example">例</h2> +### 返値 -<p><a href="/ja/docs/Web/Guide/DOM/Events/Creating_and_triggering_events">Creating and triggering events</a> を参照。</p> +`event` がキャンセル可能で、かつ `event` を受け取ったイベントハンドラーの少なくとも 1 つが {{domxref("Event.preventDefault()")}} を呼び出した場合は `false` となります。それ以外の場合は `true` です。 -<h2 id="Specification" name="Specification">仕様書</h2> +### 例外 -<ul> - <li><a class="external" href="http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-EventTarget-dispatchEvent">DOM Level 2 Events: dispatchEvent</a></li> -</ul> +- `InvalidStateError` {{domxref("DomException")}} + - : イベントの初期化時に、イベントの種類が指定されなかった場合に発生します。 + +> **Warning:** イベントハンドラーで発生した例外は、捕捉されない例外として報告されます。イベントハンドラーはネストされたコールスタック上で実行されます。イベントハンドラーが完了するまで呼び出し元はブロックされますが、例外は呼び出し元まで伝搬しません。 + +## 例 + +[イベントの作成と起動](/ja/docs/Web/Guide/DOM/Events/Creating_and_triggering_events) を参照してください。 + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- [Event オブジェクトリファレンス](/ja/docs/Web/API/Event) |