Event class
The interface represents an event which takes place in the DOM.
An event can be triggered by the user action e.g. clicking the
mouse button or tapping keyboard, or generated by APIs to
represent the progress of an asynchronous task. It can also be
triggered programmatically, such as by calling the
HTMLElement.click()
method of an element, or by defining the
event, then sending it to a specified target using
EventTarget.dispatchEvent()
.
There are many types of events, some of which use other
interfaces based on the main interface. itself contains the
properties and methods which are common to all events.
Many DOM elements can be set up to accept (or "listen" for)
these events, and execute code in response to process (or
"handle") them. Event-handlers are usually connected (or
"attached") to various HTML elements (such as <button>
,
<div>
, <span>
, etc.) using EventTarget.addEventListener()
,
and this generally replaces using the old HTML event handler
attributes. Further, when properly added, such handlers can also
be disconnected if needed using removeEventListener()
.
Note: One element can have several such handlers, even for the exact same event—particularly if separate, independent code modules attach them, each for its own independent purposes. (For example, a webpage with an advertising-module and statistics-module both monitoring video-watching.)
When there are many nested elements, each with its own handler(s), event processing can become very complicated—especially where a parent element receives the very same event as its child elements because "spatially" they overlap so the event technically occurs in both, and the processing order of such events depends on the Event bubbling and capture settings of each handler triggered.
- Implementers
- AnimationEvent
- AnimationPlaybackEvent
- AudioProcessingEvent
- AudioRenderCapacityEvent
- BeforeInstallPromptEvent
- BeforeUnloadEvent
- BlobEvent
- BluetoothAdvertisingEvent
- CaptureActionEvent
- CharacterBoundsUpdateEvent
- ClipboardEvent
- CloseEvent
- ContentVisibilityAutoStateChangedEvent
- CookieChangeEvent
- CustomEvent
- DeviceMotionEvent
- DeviceOrientationEvent
- ErrorEvent
- ExtendableEvent
- FontFaceSetLoadEvent
- FormDataEvent
- GamepadEvent
- GPUUncapturedErrorEvent
- HashChangeEvent
- HIDConnectionEvent
- HIDInputReportEvent
- IDBVersionChangeEvent
- MediaEncryptedEvent
- MediaKeyMessageEvent
- MediaQueryListEvent
- MediaStreamTrackEvent
- MessageEvent
- MIDIConnectionEvent
- MIDIMessageEvent
- MutationEvent
- NavigateEvent
- NavigationCurrentEntryChangeEvent
- NDEFReadingEvent
- OfflineAudioCompletionEvent
- PageTransitionEvent
- PaymentRequestUpdateEvent
- PictureInPictureEvent
- PopStateEvent
- PortalActivateEvent
- PresentationConnectionAvailableEvent
- PresentationConnectionCloseEvent
- ProgressEvent
- PromiseRejectionEvent
- RTCDataChannelEvent
- RTCDTMFToneChangeEvent
- RTCErrorEvent
- RTCPeerConnectionIceErrorEvent
- RTCPeerConnectionIceEvent
- RTCTrackEvent
- RTCTransformEvent
- SecurityPolicyViolationEvent
- SensorErrorEvent
- SFrameTransformErrorEvent
- SpeechRecognitionErrorEvent
- SpeechRecognitionEvent
- SpeechSynthesisEvent
- StorageEvent
- SubmitEvent
- TaskPriorityChangeEvent
- TextFormatUpdateEvent
- TextUpdateEvent
- TimeEvent
- TrackEvent
- TransitionEvent
- UIEvent
- USBConnectionEvent
- ValueEvent
- WebGLContextEvent
- WindowControlsOverlayGeometryChangeEvent
- XRInputSourceEvent
- XRInputSourcesChangeEvent
- XRLayerEvent
- XRReferenceSpaceEvent
- XRSessionEvent
- Available extensions
- Annotations
-
- @JS()
- @staticInterop
Properties
- bubbles → bool
-
Available on Event, provided by the PropsEvent extension
no setter - cancelable → bool
-
Available on Event, provided by the PropsEvent extension
no setter - cancelBubble ↔ bool
-
Available on Event, provided by the PropsEvent extension
getter/setter pair - composed → bool
-
Available on Event, provided by the PropsEvent extension
no setter - currentTarget → EventTarget?
-
Available on Event, provided by the PropsEvent extension
no setter - defaultPrevented → bool
-
Available on Event, provided by the PropsEvent extension
no setter - eventPhase → int
-
Available on Event, provided by the PropsEvent extension
no setter - hashCode → int
-
The hash code for this object.
no setterinherited
- isTrusted → bool
-
Available on Event, provided by the PropsEvent extension
no setter - returnValue ↔ dynamic
-
Available on Event, provided by the PropsEvent extension
getter/setter pair - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- srcElement → EventTarget?
-
Available on Event, provided by the PropsEvent extension
no setter - target → EventTarget?
-
Available on Event, provided by the PropsEvent extension
no setter - timeStamp → double
-
Available on Event, provided by the PropsEvent extension
no setter - type → String
-
Available on Event, provided by the PropsEvent extension
no setter
Methods
-
composedPath(
) → Iterable< EventTarget> -
Available on Event, provided by the PropsEvent extension
-
initEvent(
String type, [bool? bubbles = false, bool? cancelable = false]) → void -
Available on Event, provided by the PropsEvent extension
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
preventDefault(
) → void -
Available on Event, provided by the PropsEvent extension
-
stopImmediatePropagation(
) → void -
Available on Event, provided by the PropsEvent extension
-
stopPropagation(
) → void -
Available on Event, provided by the PropsEvent extension
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
- atTarget → int
-
no setter
- bubblingPhase → int
-
no setter
- capturingPhase → int
-
no setter
- none → int
-
no setter