CustomEvent()

The CustomEvent() constructor creates a new CustomEvent object.

Syntax

new CustomEvent(type)
new CustomEvent(type, options)

Parameters

type

A string with the name of the event. It is case-sensitive and browsers always set it to customevent.

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 to null.

Return value

A new CustomEvent object.

Example

// create custom events
const catFound = new CustomEvent('animalfound', {
  detail: {
    name: 'cat'
  }
});
const dogFound = new CustomEvent('animalfound', {
  detail: {
    name: 'dog'
  }
});

// add an appropriate event listener
obj.addEventListener('animalfound', (e) => console.log(e.detail.name));

// dispatch the events
obj.dispatchEvent(catFound);
obj.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

See also