EventTarget: EventTarget() Konstruktor - Web-APIs | MDN
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2020 browserübergreifend verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Der EventTarget() Konstruktor erstellt eine neue Instanz des EventTarget Objekts.
Hinweis:
Es ist relativ selten, diesen Konstruktor explizit aufzurufen. Meistens wird dieser Konstruktor im Konstruktor eines Objekts verwendet, das die EventTarget Schnittstelle erweitert, indem das super Schlüsselwort verwendet wird.
Syntax
Parameter
Keine.
Rückgabewert
Eine neue Instanz des EventTarget Objekts.
Beispiele
Implementieren eines Zählers
Dieses Beispiel implementiert eine Counter Klasse mit den Methoden increment() und decrement(). Es löst ein benutzerdefiniertes "valuechange" Ereignis aus, wenn eine dieser Methoden aufgerufen wird.
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();
});
Ergebnis
Spezifikationen
| Spezifikation |
|---|
| DOM # ref-for-dom-eventtarget-eventtarget① |
Browser-Kompatibilität
Siehe auch
Help improve MDN
Erfahren Sie, wie Sie beitragen können Diese Seite wurde automatisch aus dem Englischen übersetzt.