Event: currentTarget Eigenschaft
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die currentTarget
-Eigenschaft der Event
-Schnittstelle (nur lesend) identifiziert das Element, an das der Ereignishandler gebunden ist.
Dies entspricht nicht immer dem Element, auf dem das Ereignis ausgelöst wurde, da das Ereignis möglicherweise auf einem Nachkommen des Elements mit dem Handler ausgelöst wurde und dann nach oben gebubbelt ist zu dem Element mit dem Handler. Das Element, auf dem das Ereignis ausgelöst wurde, wird durch Event.target
angegeben.
Bitte beachten Sie, dass der Wert von currentTarget
nur in einem Handler für das Ereignis verfügbar ist. Außerhalb eines Ereignishandlers wird es null
sein. Das bedeutet zum Beispiel, dass, wenn Sie in einem Ereignishandler eine Referenz auf das Event
-Objekt nehmen und dann außerhalb des Ereignishandlers auf dessen currentTarget
-Eigenschaft zugreifen, der Wert null
sein wird.
Wert
Ein EventTarget
, das das Objekt darstellt, an das der aktuelle Ereignishandler gebunden ist.
Beispiele
currentTarget versus target
Dieses Beispiel verdeutlicht den Unterschied zwischen currentTarget
und target
.
HTML
Die Seite hat einen "Eltern"-<div>
, der ein "Kind" <div>
enthält.
<div id="parent">
Click parent
<div id="child">Click child</div>
</div>
<button id="reset">Reset</button>
<pre id="output"></pre>
JavaScript
Der Ereignishandler ist an den Eltern gebunden. Er protokolliert den Wert von event.currentTarget
und event.target
.
Wir haben auch einen "Zurücksetzen"-Button, der einfach das Beispiel neu lädt.
const output = document.querySelector("#output");
const parent = document.querySelector("#parent");
parent.addEventListener("click", (event) => {
const currentTarget = event.currentTarget.getAttribute("id");
const target = event.target.getAttribute("id");
output.textContent = `Current target: ${currentTarget}\n`;
output.textContent += `Target: ${target}`;
});
const reset = document.querySelector("#reset");
reset.addEventListener("click", () => document.location.reload());
Ergebnis
Wenn Sie innerhalb des Kind-<div>
klicken, identifiziert target
das Kind. Wenn Sie innerhalb des Eltern-<div>
klicken, identifiziert target
den Eltern.
In beiden Fällen identifiziert currentTarget
den Eltern, da das der Element ist, an das der Handler gebunden ist.
Spezifikationen
Specification |
---|
DOM Standard # ref-for-dom-event-currenttarget② |
Browser-Kompatibilität
BCD tables only load in the browser