The EventListener interface represents an object that can handle an event dispatched by an EventTarget object.
Note: Due to the need for compatibility with legacy content, EventListener accepts both a function and an object with a handleEvent() property function. This is shown in the example below.
This interface neither implements, nor inherits, any properties.
This interface doesn't inherit any methods.
EventListener.handleEvent()<button id="btn">Click here!</button>
const buttonElement = document.getElementById('btn');
// Add a handler for the 'click' event by providing a callback function.
// Whenever the element is clicked, a pop-up with "Element clicked!" will
// appear.
buttonElement.addEventListener('click', function (event) {
alert('Element clicked through function!');
});
// For compatibility, a non-function object with a `handleEvent` property is
// treated just the same as a function itself.
buttonElement.addEventListener('click', {
handleEvent: function (event) {
alert('Element clicked through handleEvent property!');
}
});
| Specification | Status | Comment |
|---|---|---|
| DOM The definition of 'EventListener' in that specification. | Living Standard | No change. |
| Document Object Model (DOM) Level 2 Events Specification The definition of 'EventListener' in that specification. | Obsolete | Initial definition. |
| Desktop | ||||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
| Basic support | 1 | 12 | 1 | 9 | 7 | 1 |
handleEvent |
1 | 12 | 1 | 9 | 7 | 1 |
| Mobile | |||||||
|---|---|---|---|---|---|---|---|
| Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
| Basic support | 1 | 18 | 12 | 4 | 6 | 1 | ? |
handleEvent |
1 | 18 | 12 | 4 | 6 | 1 | ? |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/EventListener