Event reference
===============

Events are fired to notify code of "interesting changes" that may affect code execution. These can arise from user interactions such as using a mouse or resizing a window, changes in the state of the underlying environment (e.g. low battery or media events from the operating system), and other causes.

Each event is represented by an object that is based on the `Event` interface, and may have additional custom fields and/or functions to provide information about what happened. The documentation for every event has a table (near the top) that includes a link to the associated event interface, and other relevant information. A full list of the different event types is given in Event > Interfaces based on Event.

This topic provides an index to the main *sorts* of events you might be interested in (animation, clipboard, workers etc.) along with the main classes that implement those sorts of events. At the end is a flat list of all documented events.

**Note:** This page lists many of the most common events you'll come across on the web. If you are searching for an event that isn't listed here, try searching for its name, topic area, or associated specification on the rest of MDN.

Event index
-----------

| Event type | Description | Documentation |
| --- | --- | --- |
| Animation | 
 Events related to the
 Web Animation API.


 Used to respond to changes in animation status (e.g. when an animation
 starts or ends).
  | 
 Animation events fired on
 `Document`,
 `Window`,
 `HTMLElement`.
  |
| Asynchronous data fetching | Events related to the fetching data. | 
 Events fired on
 `AbortSignal`,
 `XMLHttpRequest`,
 `FileReader`.
  |
| Clipboard | 
 Events related to the
 Clipboard API.

Used to notify when content is cut, copied, or pasted. | 
 Events fired on
 `Document`,
 `Element`,
 `Window`.
  |
| Composition | 
 Events related to composition; entering text "indirectly" (rather than
 using normal keyboard presses).


 For example, text entered via a speech to text engine, or using
 special key combinations that modify keyboard presses to represent new
 characters in another language.
  | 
 Events fired on
 `Element`.
  |
| CSS transition | 
 Events related to
 CSS Transitions.


 Provides notification events when CSS transitions start, stop, are
 cancelled, etc.
  | 
 Events fired on
 `Document`,
 `HTMLElement`,
 `Window`.
  |
| Database | 
 Events related to database operations: opening, closing, transactions,
 errors, etc.
  | 
 Events fired on
 `IDBDatabase`,
 `IDBOpenDBRequest`,
 `IDBRequest`,
 `IDBTransaction`.
  |
| DOM mutation | 
 Events related to modifications to the Document Object Model (DOM)
 hierarchy and nodes.
  | 

**Warning:**
Mutation Events are
 deprecated.
 Mutation Observers
 should be used instead.

 |
| Drag'n'drop, Wheel | 
 Events related to using the
 HTML Drag and Drop API
 and wheel events.


 Drag and Wheel events are derived from mouse events. While they are
 fired when using mouse wheel or drag/drop, they may also be used with
 other appropriate hardware.
  | 
 Drag events fired on
 `Document`

 Wheel events fired on
 `Document`
 and
 `Element`
 |
| Focus | Events related to elements gaining and losing focus. | 
 Events fired on
 `Element`,
 `Window`.
  |
| Form | Events related to forms being constructed, reset and submitted. | 
 Events fired on
 `HTMLFormElement`.
  |
| Fullscreen | 
 Events related to the
 Fullscreen API.


 Used to notify when the transitioning between full screen and windowed
 modes, and also of errors occurring during this transition.
  | 
 Events fired on
 `Document`,
 `Element`.
  |
| Gamepad | 
 Events related to the
 Gamepad API.
  | 
 Events fired on
 `Window`.
  |
| Gestures | 
Touch events are
 recommended for implementing gestures.
  | 
 Events fired on
 `Document`,
 `Element`.

In addition there are a number of non-standard gesture events:* Non-standard WebKit specific events on
 `Element`:
 `gesturestart` event,
 `gesturechange` event,
 `gestureend` event.
 |
| History | 
 Events related to the
 History API.
  | 
 Events fired on
 `Window`.
  |
| HTML element content display management | Events related to changing the state of a display or textual element. | 
 Events fired on
 `HTMLDetailsElement`,
 `HTMLDialogElement`,
 `HTMLSlotElement`.
  |
| Inputs | 
 Events related to HTML input elements e.g.
 `<input>`, `<select>`, or
 `<textarea>`.
  | 
 Events fired on
 `HTMLElement`,
 `HTMLInputElement`.
  |
| Keyboard | 
 Events related to using a
 keyboard.

Used to notify when keys are moved up, down, or just pressed. | 
 Events fired on
 `Document`,
 `Element`.
  |
| Loading/unloading documents | Events related to loading and unloading documents. | 
 Events fired on
 `Document`
 and
 `Window`.
  |
| Manifests | 
 Events related to installation of
 progressive web app manifests.
  | 
 Events fired on
 `Window`.
  |
| Media | 
 Events related to media usage (including the
 Media Capture and Streams API,
 Web Audio API,
 Picture-in-Picture API, etc.).
  | 
 Events fired on
 `ScriptProcessorNode`,
 `HTMLMediaElement`,
 `AudioTrackList`,
 `AudioScheduledSourceNode`,
 `MediaRecorder`,
 `MediaStream`,
 `MediaStreamTrack`,
 `VideoTrackList`,
 `HTMLTrackElement`,
 `OfflineAudioContext`,
 `TextTrack`,
 `TextTrackList`,
 Element/audio,
 Element/video.
  |
| Messaging | 
 Events related to a window receiving a message from another browsing
 context.
  | 
 Events fired on
 `Window`.
  |
| Mouse | 
 Events related to using a
 computer mouse.


 Used to notify when the mouse is clicked, doubleclicked, up and down
 events, right-click, movement in and out of an element, text
 selection, etc.


 Pointer events provide a hardware-agnostic alternative to mouse
 events. Drag and Wheel events are derived from mouse events.
  | 
 Mouse events fired on
 `Element` |
| Network/Connection | Events related to gaining and losing network connection. | 
 Events fired on
 `Window`.


 Events fired on
 `NetworkInformation`
 (Network Information API).
  |
| Payments | 
 Events related to the
 Payment Request API.
  | 
 Events fired on
 `PaymentRequest`,
 `PaymentResponse`.
  |
| Performance | 
 Events related to any performance-related spec grouped into
 Performance APIs.
  | 
 Events fired on
 `Performance`.
  |
| Pointer | 
 Events related to the
 Pointer Events API.


 Provides hardware-agnostic notification from pointing devices
 including Mouse, Touch, pen/stylus.
  | 
 Events fired on
 `Document`,
 `HTMLElement`.
  |
| Print | Events related to printing. | 
 Events fired on
 `Window`.
  |
| Promise rejection | 
 Events sent to the global script context when any JavaScript promise
 is rejected.
  | 
 Events fired on
 `Window`.
  |
| Sockets | 
 Events related to the
 WebSockets API.
  | 
 Events fired on
 `Websocket`.
  |
| SVG | Events related to SVG images. | 
 Events fired on
 `SVGElement`,
 `SVGAnimationElement`,
 `SVGGraphicsElement`.
  |
| Text selection | 
Selection API events
 related to selecting text.
  | 
 Event (`selectionchange`) fired on
 `HTMLTextAreaElement`,
 `HTMLInputElement`.
  |
| Touch | 
 Events related to the
 Touch Events API.


 Provides notification events from interacting with a touch sensitive
 screen (i.e. using a finger or stylus). Not related to the
 Force Touch API.
  | 
 Events fired on
 `Document`,
 `Element`.
  |
| Virtual reality | 
 Events related to the
 WebXR Device API.


**Warning:** The
 WebVR API (and
 associated
 `Window` events) are deprecated.

 | 
 Events fired on
 `XRSystem`,
 `XRSession`,
 `XRReferenceSpace`.
  |
| RTC (real time communication) | 
 Events related to the
 WebRTC API.
  | 
 Events fired on
 `RTCDataChannel`,
 `RTCDTMFSender`,
 `RTCIceTransport`,
 `RTCPeerConnection`.
  |
| Server-sent events | 
 Events related to the
 server sent events API.
  | 
 Events fired on
 `EventSource`.
  |
| Speech | 
 Events related to the
 Web Speech API.
  | 
 Events fired on
 `SpeechSynthesisUtterance`.
  |
| Workers | 
 Events related to the
 Web Workers API,
 Service Worker API,
 Broadcast Channel API, and
 Channel Messaging API.


 Used to respond to new messages and message sending errors. Service
 workers can also be notified of other events, including push
 notifications, users clicking on displayed notifications, that push
 subscription has been invalidated, deletion of items from the content
 index, etc.
  | 
 Events fired on
 `ServiceWorkerGlobalScope`,
 `DedicatedWorkerGlobalScope`,
 `SharedWorkerGlobalScope`,
 `WorkerGlobalScope`, `Worker`,
 `WorkerGlobalScope`,
 `BroadcastChannel`,
 `MessagePort`.
  |

Specifications
--------------

| Specification |
| --- |
| HTML Standard # events-2 |