IDL
[Exposed=( Window , Worker )] interface CustomEvent : Event { constructor(DOMString type, optional CustomEventInit eventInitDict = {}); readonly attribute any detail; undefined initCustomEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false, optional any detail = null); // historical }; dictionary CustomEventInit : EventInit { any detail = null; };
События, использующие интерфейс CustomEvent, могут использоваться для переноса пользовательских данных.
Для веб-разработчиков (не нормативно)
event = new CustomEvent(type [, eventInitDict])
Работает аналогично конструктору для Event, за исключением того, что аргумент eventInitDict теперь позволяет также установить атрибут detail.
event . detail
Возвращает любое событие event пользовательских данных, созданное с помощью. Обычно используется для синтетических соревнований.
Атрибут detail должен возвращать значение, которым он был инициализирован.
При вызове метода initCustomEvent( type, bubbles, cancelable, detail ) должны выполняться следующие шаги:
1. Если установлен флаг отправки этого this, вернитесь. 2. Инициализировать этот this с type, bubbles и cancelable. 3. Установите для атрибута detail этого this значение detail.
Ссылки
DOM стандарт — https://efim360.ru/dom/
Читайте перевод полной версии стандарта «объектной модели документа», чтобы ознакомиться со всеми концепциями и интерфейсами.
DOM — Living Standard — https://dom.spec.whatwg.org
Читайте официальную документацию живого стандарта «объектной модели документа», чтобы быть в курсе последних изменений.