Dispatches an Event
at the specified EventTarget
, (synchronously) invoking the affected EventListener
s in the appropriate order. The normal event processing rules (including the capturing and optional bubbling phase) also apply to events dispatched manually with dispatchEvent()
.
cancelled = !target.dispatchEvent(event)
event
is the Event
object to be dispatched.target
is used to initialize the Event.target
and determine which event listeners to invoke.false
if event is cancelable and at least one of the event handlers which handled this event called Event.preventDefault()
. Otherwise it returns true
.The dispatchEvent
method throws UNSPECIFIED_EVENT_TYPE_ERR
if the event's type was not specified by initializing the event before the method was called, or if the event's type is null
or an empty string. Exceptions thrown by event handlers are reported as uncaught exceptions; the event handlers run on a nested callstack: they block the caller until they complete, but exceptions do not propagate to the caller.
Unlike "native" events, which are fired by the DOM and invoke event handlers asynchronously via the event loop, dispatchEvent
invokes event handlers synchronously. All applicable event handlers will execute and return before the code continues on after the call to dispatchEvent
.
dispatchEvent
is the last step of the create-init-dispatch process, which is used for dispatching events into the implementation's event model. The event can be created using Event constructor.
See also the Event object reference.
See Creating and triggering events.
Specification | Status | Comment |
---|---|---|
DOM The definition of 'EventTarget.dispatchEvent()' in that specification. | Living Standard | Initial definition in the DOM 2 Events specification. |
Desktop | ||||||
---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
Basic support | 4 | 12 | 2 | 9
|
9 | 3.2 |
Mobile | |||||||
---|---|---|---|---|---|---|---|
Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
Basic support | 4 | 18 | Yes | 4 | Yes | Yes | Yes |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/dispatchEvent