CustomEvent: CustomEvent() constructor
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.
Note: This feature is available in Web Workers.
The CustomEvent()
constructor creates a new CustomEvent
object.
Syntax
js
new CustomEvent(type)
new CustomEvent(type, options)
Parameters
type
-
A string providing the name of the event. Event names are case-sensitive.
options
Optional-
An object that, in addition of the properties defined in
Event()
, can have the following properties:detail
Optional-
An event-dependent value associated with the event. This value is then available to the handler using the
CustomEvent.detail
property. It defaults tonull
.
Return value
A new CustomEvent
object.
Example
js
// create custom events
const catFound = new CustomEvent("animalfound", {
detail: {
name: "cat",
},
});
const dogFound = new CustomEvent("animalfound", {
detail: {
name: "dog",
},
});
const element = document.createElement("div"); // create a <div> element
// add an appropriate event listener
element.addEventListener("animalfound", (e) => console.log(e.detail.name));
// dispatch the events
element.dispatchEvent(catFound);
element.dispatchEvent(dogFound);
// "cat" and "dog" logged in the console
Additional examples can be found at Creating and triggering events.
Specifications
Specification |
---|
DOM Standard # ref-for-dom-customevent-customevent |
Browser compatibility
BCD tables only load in the browser