← 返回首页
EventTarget: EventTarget() コンストラクター - Web API | MDN

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

EventTarget: EventTarget() コンストラクター

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2020年9月.

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

EventTarget() コンストラクターは、新しい EventTarget オブジェクトのインスタンスを作成します。

メモ: このコンストラクターを明示的に呼び出すことは、非常にまれです。ほとんどの場合、このコンストラクターは EventTarget から派生したオブジェクトのコンストラクターの中で、 super キーワードによって使用されます。

In this article

構文

js
new EventTarget()

引数

なし。

返値

EventTarget オブジェクトのインスタンス。

カウンターの実装

この例では、 increment() メソッドと decrement() メソッドを持つ Counter クラスを実装します。これらのメソッドが呼び出されると、カスタムイベント "valuechange" が発生します。

HTML

html
<button id="dec" aria-label="Decrement">-</button> <span id="currentValue">0</span> <button id="inc" aria-label="Increment">+</button>

JavaScript

js
class Counter extends EventTarget { constructor(initialValue = 0) { super(); this.value = initialValue; } #emitChangeEvent() { this.dispatchEvent(new CustomEvent("valuechange", { detail: this.value })); } increment() { this.value++; this.#emitChangeEvent(); } decrement() { this.value--; this.#emitChangeEvent(); } } const initialValue = 0; const counter = new Counter(initialValue); document.querySelector("#currentValue").innerText = initialValue; counter.addEventListener("valuechange", (event) => { document.querySelector("#currentValue").innerText = event.detail; }); document.querySelector("#inc").addEventListener("click", () => { counter.increment(); }); document.querySelector("#dec").addEventListener("click", () => { counter.decrement(); });

結果

仕様書

Specification
DOM
# ref-for-dom-eventtarget-eventtarget①

ブラウザーの互換性

Enable JavaScript to view this browser compatibility table.

関連情報