EventTarget
EventTarget
is an interface implemented by objects that can receive events and may have listeners for them.
Element
, document
, and window
are the most common event targets, but other objects can be event targets too, for example XMLHttpRequest
, AudioNode
, AudioContext
, and others.
Many event targets (including elements, documents, and windows) also support setting event handlers via on...
properties and attributes.
Methods
EventTarget.addEventListener()
(en-US)- Register an event handler of a specific event type on the
EventTarget
. EventTarget.removeEventListener()
(en-US)- Removes an event listener from the
EventTarget
. EventTarget.dispatchEvent()
(en-US)- Dispatch an event to this
EventTarget
.
Additional methods for Mozilla chrome code
Mozilla extensions for use by JS-implemented event targets to implement on* properties. See also WebIDL bindings.
- void setEventHandler(DOMString type, EventHandler handler)
- EventHandler getEventHandler(DOMString type)
Example:
Simple implementation of EventTarget
var EventTarget = function() {
this.listeners = {};
};
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];
event.target = this;
for (var i = 0, l = stack.length; i < l; i++) {
stack[i].call(this, event);
}
return !event.defaultPrevented;
};
Specifications
Specification | Status | Comment |
---|---|---|
DOM Die Definition von 'EventTarget' in dieser Spezifikation. |
Lebender Standard | No change. |
Document Object Model (DOM) Level 3 Events Specification Die Definition von 'EventTarget' in dieser Spezifikation. |
Veraltet | A few parameters are now optional (listener ), or accepts the null value (useCapture ). |
Document Object Model (DOM) Level 2 Events Specification Die Definition von 'EventTarget' in dieser Spezifikation. |
Veraltet | Initial definition. |
Browser compatibility
Wir konvertieren die Kompatibilitätsdaten in ein maschinenlesbares JSON Format.
Diese Kompatibilitätstabelle liegt noch im alten Format vor,
denn die darin enthaltenen Daten wurden noch nicht konvertiert.
Finde heraus wie du helfen kannst! (en-US)
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Basic support | 1.0 | (Ja) | 1.0 (1.7 oder früher) | 9.0 | 7 | 1.0[1] |
Feature | Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | 1.0 | (Ja) | 1.0 (1) | 9.0 | 6.0 | 1.0 |
[1] window.EventTarget
does not exist.
See Also
- Event reference - the events available in the platform.
- Event developer guide
Event
interface