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
|
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
In addition there are a number of non-standard gesture events:
|
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.
|
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. |
|
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
Events fired on
|
Payments |
Events related to the Payment Request API. |
Events fired on
|
Performance |
Events related to High Resolution Time API, Performance Timeline API, Navigation Timing API, User Timing API, and Resource Timing API. |
Events fired on
|
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 .
|
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
|
Text selection |
Selection API events related to selecting text. |
Event ( |
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
|
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 .
|
Event listing
This section lists events that have their own reference pages on MDN. If you are interested in an event that isn't listed here, try searching for its name, topic area, or associated specification on the rest of MDN.
AbortSignal
AudioScheduledSourceNode
AudioTrackList
BroadcastChannel
DedicatedWorkerGlobalScope
Document
- animationcancel event
- animationend event
- animationiteration event
- animationstart event
- copy event
- cut event
- DOMContentLoaded event
- dragend event
- dragenter event
- dragleave event
- dragover event
- dragstart event
- drag event
- drop event
- fullscreenchange event
- fullscreenerror event
- gotpointercapture event
- keydown event
- keypress event
- keyup event
- lostpointercapture event
- paste event
- pointercancel event
- pointerdown event
- pointerenter event
- pointerleave event
- pointerlockchange event
- pointerlockerror event
- pointermove event
- pointerout event
- pointerover event
- pointerup event
- readystatechange event
- scroll event
- selectionchange event
- selectstart event
- touchcancel event
- touchend event
- touchmove event
- touchstart event
- transitioncancel event
- transitionend event
- transitionrun event
- transitionstart event
- visibilitychange event
- wheel event
Element
- afterscriptexecute event
- auxclick event
- beforescriptexecute event
- blur event
- click event
- compositionend event
- compositionstart event
- compositionupdate event
- contextmenu event
- copy event
- cut event
- dblclick event
- DOMActivate event
- DOMMouseScroll event
- error event
- focusin event
- focusout event
- focus event
- fullscreenchange event
- fullscreenerror event
- gesturechange event
- gestureend event
- gesturestart event
- keydown event
- keypress event
- keyup event
- mousedown event
- mouseenter event
- mouseleave event
- mousemove event
- mouseout event
- mouseover event
- mouseup event
- mousewheel event
- msContentZoom event
- MSGestureChange event
- MSGestureEnd event
- MSGestureHold event
- MSGestureStart event
- MSGestureTap event
- MSInertiaStart event
- MSManipulationStateChanged event
- paste event
- scroll event
- select event
- show event
- touchcancel event
- touchend event
- touchmove event
- touchstart event
- webkitmouseforcechanged event
- webkitmouseforcedown event
- webkitmouseforceup event
- webkitmouseforcewillbegin event
- wheel event
EventSource
FileReader
HTMLCanvasElement
HTMLDetailsElement
HTMLDialogElement
HTMLElement
- animationcancel event
- animationend event
- animationiteration event
- animationstart event
- beforeinput event
- change event
- gotpointercapture event
- input event
- lostpointercapture event
- pointercancel event
- pointerdown event
- pointerenter event
- pointerleave event
- pointermove event
- pointerout event
- pointerover event
- pointerup event
- transitioncancel event
- transitionend event
- transitionrun event
- transitionstart event
HTMLFormElement
HTMLInputElement
HTMLMediaElement
- abort event
- canplaythrough event
- canplay event
- durationchange event
- emptied event
- ended event
- error event
- loadeddata event
- loadedmetadata event
- loadstart event
- pause event
- playing event
- play event
- progress event
- ratechange event
- seeked event
- seeking event
- stalled event
- suspend event
- timeupdate event
- volumechange event
- waiting event
HTMLSlotElement
HTMLTrackElement
HTMLVideoElement
IDBDatabase
IDBOpenDBRequest
IDBRequest
IDBTransaction
MediaDevices
MediaRecorder
MediaStream
MediaStreamTrack
MessagePort
OfflineAudioContext
PaymentRequest
PaymentResponse
Performance
PictureInPictureWindow
RTCDataChannel
RTCDtlsTransport
RTCDTMFSender
RTCIceTransport
RTCPeerConnection
ScriptProcessorNode
ServiceWorkerContainer
ServiceWorkerGlobalScope
SharedWorkerGlobalScope
SpeechRecognition
SpeechSynthesis
SpeechSynthesisUtterance
SVGAnimationElement
SVGElement
SVGGraphicsElement
TextTrack
TextTrackList
VideoTrackList
VisualViewport
WebSocket
Window
- afterprint event
- animationcancel event
- animationend event
- animationiteration event
- animationstart event
- appinstalled event
- beforeprint event
- beforeunload event
- blur event
- copy event
- cut event
- devicemotion event
- deviceorientation event
- DOMContentLoaded event
- error event
- focus event
- gamepadconnected event
- gamepaddisconnected event
- hashchange event
- languagechange event
- load event
- messageerror event
- message event
- offline event
- online event
- orientationchange event
- pagehide event
- pageshow event
- paste event
- popstate event
- rejectionhandled event
- resize event
- storage event
- transitioncancel event
- transitionend event
- transitionrun event
- transitionstart event
- unhandledrejection event
- unload event
- vrdisplayactivate event
- vrdisplayblur event
- vrdisplayconnect event
- vrdisplaydeactivate event
- vrdisplaydisconnect event
- vrdisplayfocus event
- vrdisplaypointerrestricted event
- vrdisplaypointerunrestricted event
- vrdisplaypresentchange event
Worker
WorkerGlobalScope
XMLHttpRequest
XRReferenceSpace
XRSession
XRSystem
Specifications
Specification | Status | Comment |
---|---|---|
HTML Living Standard The definition of 'event handlers' in that specification. |
Living Standard | |
HTML5 The definition of 'event handlers' in that specification. |
Recommendation |