From 9129a1f386d3bc273083d733ff5ba1acfaaa4ce9 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sun, 30 Jan 2022 11:12:35 +0900 Subject: 2021/10/26 時点の英語版に同期 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/ja/web/api/eventtarget/index.md | 129 +++++++--------------------------- 1 file changed, 27 insertions(+), 102 deletions(-) (limited to 'files/ja/web/api') diff --git a/files/ja/web/api/eventtarget/index.md b/files/ja/web/api/eventtarget/index.md index 6ace39e14c..7d2c1a7ad8 100644 --- a/files/ja/web/api/eventtarget/index.md +++ b/files/ja/web/api/eventtarget/index.md @@ -2,121 +2,46 @@ title: EventTarget slug: Web/API/EventTarget tags: - - API - - DOM - - DOM Events - - EventTarget - - Interface + - インターフェイス + - リファレンス +browser-compat: api.EventTarget translation_of: Web/API/EventTarget --- -

{{ApiRef("DOM Events")}}

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

EventTarget は DOM インターフェイスで、イベントを受け取ることや、リスナーを持つことができるオブジェクトが実装しています。

+**`EventTarget`** インターフェイスは、イベントを受け取ることや、リスナーを持つことができるオブジェクトが実装します。 +言い換えると、イベントのターゲットはすべて、このインターフェイスに関する 3 つのメソッドを実装しています。 -

{{domxref("Element")}}、{{domxref("Document")}}、{{domxref("Window")}} は、最も一般的なイベントターゲットですが、他のオブジェクトも、例えば {{domxref("XMLHttpRequest")}}、{{domxref("AudioNode")}}、{{domxref("AudioContext")}} などもイベントターゲットになります。

+{{domxref("Element")}} とその子、{{domxref("Document")}}、{{domxref("Window")}} は、最も一般的なイベントターゲットですが、他のオブジェクトも、例えば {{domxref("XMLHttpRequest")}}、{{domxref("AudioNode")}}、{{domxref("AudioContext")}} などもイベントターゲットになります。 -

多くのイベントターゲット (要素、文書、ウィンドウを含む) は、イベントハンドラーを設定するのに onイベント名 プロパティや属性を使用することもできます。

+多くのイベントターゲット (要素、文書、ウィンドウを含む) は、[イベントハンドラー](/ja/docs/Web/Events/Event_handlers)を設定するのに `onイベント名` プロパティや属性を使用することもできます。 -

{{InheritanceDiagram}}

+{{InheritanceDiagram}} -

コンストラクター

+## コンストラクター -
-
{{domxref("EventTarget.EventTarget()","EventTarget()")}}
-
新しい EventTarget オブジェクトのインスタンスを作成します。
-
+- {{domxref("EventTarget.EventTarget()","EventTarget()")}} + - : 新しい `EventTarget` オブジェクトのインスタンスを作成します。 -

メソッド

+## メソッド -
-
{{domxref("EventTarget.addEventListener()", "EventTarget.addEventListener()")}}
-
特定のイベント種別のイベントハンドラーを EventTarget に登録します。
-
{{domxref("EventTarget.removeEventListener()", "EventTarget.removeEventListener()")}}
-
EventTarget からイベントリスナーを削除します。
-
{{domxref("EventTarget.dispatchEvent()", "EventTarget.dispatchEvent()")}}
-
この EventTarget にイベントを送出します。
-
+- {{domxref("EventTarget.addEventListener()")}} + - : 特定のイベント種別のイベントハンドラーを `EventTarget` に登録します。 +- {{domxref("EventTarget.removeEventListener()")}} + - : `EventTarget` からイベントリスナーを削除します。 +- {{domxref("EventTarget.dispatchEvent()")}} + - : この `EventTarget` にイベントを送出します。 +## 仕様書 -

+{{Specifications}} -

EventTarget の簡単な実装

+## ブラウザーの互換性 -
var EventTarget = function() {
-  this.listeners = {};
-};
+{{Compat}}
 
-EventTarget.prototype.listeners = null;
-EventTarget.prototype.addEventListener = function(type, callback) {
-  if (!(type in this.listeners)) {
-    this.listeners[type] = [];
-  }
-  this.listeners[type].push(callback);
-};
+## 関連情報
 
-EventTarget.prototype.removeEventListener = function(type, callback) {
-  if (!(type in this.listeners)) {
-    return;
-  }
-  var stack = this.listeners[type];
-  for (var i = 0, l = stack.length; i < l; i++) {
-    if (stack[i] === callback){
-      stack.splice(i, 1);
-      return;
-    }
-  }
-};
-
-EventTarget.prototype.dispatchEvent = function(event) {
-  if (!(event.type in this.listeners)) {
-    return true;
-  }
-  var stack = this.listeners[event.type].slice();
-
-  for (var i = 0, l = stack.length; i < l; i++) {
-    stack[i].call(this, event);
-  }
-  return !event.defaultPrevented;
-};
-
- -

仕様書

- - - - - - - - - - - - - - - - - - - - - - - - - - -
仕様書状態況備考
{{SpecName('DOM WHATWG', '#interface-eventtarget', 'EventTarget')}}{{Spec2('DOM WHATWG')}}変更なし。
{{SpecName('DOM3 Events', 'DOM3-Events.html#interface-EventTarget', 'EventTarget')}}{{Spec2('DOM3 Events')}}いくつかの引数が任意になったり (listener)、 null 値を許可するようになったりした (useCapture)。
{{SpecName('DOM2 Events', 'events.html#Events-EventTarget', 'EventTarget')}}{{Spec2('DOM2 Events')}}初回定義。
- -

ブラウザーの互換性

- -

{{Compat("api.EventTarget")}}

- -

関連情報

- - +- [イベントリファレンス](/ja/docs/Web/Events) - プラットフォームで利用可能なイベント。 +- [イベント開発者ガイド](/ja/docs/Learn/JavaScript/Building_blocks/Events) +- {{domxref("Event")}} インターフェイス -- cgit v1.2.3-54-g00ecf