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.

Event index

Event type Description Documentation

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.

Events related to the Clipboard API.

Used to notify when content is cut, copied, or pasted.

Events fired on Document, Element, Window.

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.

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 Element


Events related to elements gaining and losing focus.

Events fired on Element, Window.

Events related to forms being constructed, reset and submitted.

Events fired on HTMLFormElement.

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.

Events related to the Gamepad API.

Events fired on Window.

Touch events are recommended for implementing gestures.

Events fired on Document, Element.

In addition there are a number of non-standard gesture events:


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.

Events related to HTML input elements e.g. <input>, <select>, or <textarea>.

Events fired on HTMLElement, HTMLInputElement.

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.


Events related to installation of progressive web app manifests.

Events fired on Window.

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.

Events related to a window receiving a message from another browsing context.

Events fired on Window.

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

Events related to gaining and losing network connection.

Events fired on Window.

Events fired on NetworkInformation (Network Information API).


Events related to the Payment Request API.

Events fired on PaymentRequest, PaymentResponse.


Events related to any performance-related spec grouped into Performance APIs.

Events fired on Performance.


Events related to the Pointer Events API.

Provides hardware-agnostic notification from pointing devices including Mouse, Touch, pen/stylus.

Events fired on Document, HTMLElement.

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.

Events related to the WebSockets API.

Events fired on Websocket.

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.


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.

Events related to the Web Speech API.

Events fired on SpeechSynthesisUtterance.

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, BroadcastChannel, MessagePort.


HTML Standard
# events-2