Event extension type

The Event interface represents an event which takes place on an EventTarget.

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 Event interface. Event 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.


API documentation sourced from MDN Web Docs.

on
Implemented types
Available extensions

Constructors

Event(String type, [EventInit eventInitDict])
factory

Properties

bubbles bool
The bubbles read-only property of the Event interface indicates whether the event bubbles up through the DOM tree or not.
no setter
cancelable bool
The cancelable read-only property of the Event interface indicates whether the event can be canceled, and therefore prevented as if the event never happened.
no setter
cancelBubble bool
The cancelBubble property of the Event interface is deprecated. Use Event.stopPropagation instead. Setting its value to true before returning from an event handler prevents propagation of the event. In later implementations, setting this to false does nothing. See Browser compatibility for details.
getter/setter pair
composed bool
The read-only composed property of the Event interface returns a boolean value which indicates whether or not the event will propagate across the shadow DOM boundary into the standard DOM.
no setter
currentTarget EventTarget?
The currentTarget read-only property of the Event interface identifies the element to which the event handler has been attached.
no setter
defaultPrevented bool
The defaultPrevented read-only property of the Event interface returns a boolean value indicating whether or not the call to Event.preventDefault canceled the event.
no setter
eventPhase int
The eventPhase read-only property of the Event interface indicates which phase of the event flow is currently being evaluated.
no setter
hashCode int
The hash code for this object.
no setterinherited
isTrusted bool
The isTrusted read-only property of the Event interface is a boolean value that is true when the event was generated by the user agent (including via user actions and programmatic methods such as HTMLElement.focus), and false when the event was dispatched via EventTarget.dispatchEvent. The only exception is the click event, which initializes the isTrusted property to false in user agents.
no setter
returnValue bool
The Event property returnValue indicates whether the default action for this event has been prevented or not.
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
srcElement EventTarget?
The deprecated Event.srcElement is an alias for the Event.target property. Use Event.target instead.
no setter
target EventTarget?
The read-only target property of the Event interface is a reference to the object onto which the event was dispatched. It is different from Event.currentTarget when the event handler is called during the bubbling or capturing phase of the event.
no setter
timeStamp double
The timeStamp read-only property of the Event interface returns the time (in milliseconds) at which the event was created.
no setter
type String
The type read-only property of the Event interface returns a string containing the event's type. It is set when the event is constructed and is the name commonly used to refer to the specific event, such as click, load, or error.
no setter

Methods

composedPath() JSArray<EventTarget>
The composedPath() method of the Event interface returns the event's path which is an array of the objects on which listeners will be invoked. This does not include nodes in shadow trees if the shadow root was created with its ShadowRoot.mode closed.
initEvent(String type, [bool bubbles, bool cancelable]) → void
The Event.initEvent() method is used to initialize the value of an event created using Document.createEvent.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
preventDefault() → void
The preventDefault() method of the Event interface tells the that if the event does not get explicitly handled, its default action should not be taken as it normally would be.
stopImmediatePropagation() → void
The stopImmediatePropagation() method of the Event interface prevents other listeners of the same event from being called.
stopPropagation() → void
The stopPropagation() method of the Event interface prevents further propagation of the current event in the capturing and bubbling phases. It does not, however, prevent any default behaviors from occurring; for instance, clicks on links are still processed. If you want to stop those behaviors, see the Event.preventDefault method. It also does not prevent propagation to other event-handlers of the current element. If you want to stop those, see Event.stopImmediatePropagation.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Constants

AT_TARGET → const int
BUBBLING_PHASE → const int
CAPTURING_PHASE → const int
NONE → const int