Example

Add an Event Handler to the Window Object

The addEventListener() method allows you to add event listeners on any HTML
DOM object such as HTML elements, the HTML document, the window object, or other
objects that support events, like the xmlHttpRequest object.

Example

Event Bubbling or Event Capturing?

There are two ways of event propagation in the HTML DOM, bubbling and capturing.

Event propagation is a way of defining the element order when an event occurs.
If you have a <p> element inside a <div> element, and the user clicks on the <p> element, which element's
"click" event should be handled first?

In bubbling the inner most element's event is handled first and then the outer:
the <p> element's click event is handled first, then the <div> element's click event.

In capturing the outer most element's event is handled first and then the inner:
the <div> element's click event will be handled first, then the <p> element's click event.

With the addEventListener() method you can specify the propagation type by using the "useCapture" parameter:

addEventListener(event, function, useCapture);

The default value is false, which will use the bubbling propagation, when the value is set to true, the event uses the capturing propagation.

The removeEventListener() method

Example

Browser Support

The numbers in the table specifies the first browser version that fully supports these methods.

Method

addEventListener()

1.0

9.0

1.0

1.0

7.0

removeEventListener()

1.0

9.0

1.0

1.0

7.0

Note: The addEventListener() and removeEventListener()
methods are not supported in IE 8 and earlier versions and Opera 6.0 and earlier
versions. However, for these specific browser versions, you can
use the attachEvent() method to
attach an event handlers to the element, and the detachEvent() method to remove
it: