When the user clicks, a resource loads or a socket receives a message, the browser creates an Event object, computes the propagation path from Window down to the target, and passes that one object to every listener on the path. Each listener can read what happened (type, target, coordinates, keys) and change what happens next.
Dispatch runs in three phases: capture from Window down to the target's parent (listeners registered with capture: true), target, and bubble back up to Window (ordinary listeners), the last only when event.bubbles is true: click and input bubble; focus, load and mouseenter do not.

Subsections
- Event Object Reference
- Binding Event Handlers
- Removing Event Handlers
- Handling Input Events
- Handling Document Events
- Handling Resource Events
- Handling Script Events
- Handling Browser Events
- Handling Smartphone Events
- Simulating Clicks
- Dispatching Events
- Customizing Events
- Preventing Default Behaviour
- Stopping Event Propagation
- Clicked Element's id