@guillermo
Для создания своего события на JavaScript необходимо использовать метод EventTarget.dispatchEvent(). Создание своего события происходит в несколько этапов:
1
|
var myEvent = new Event('myCustomEvent'); |
1 2 3 |
element.addEventListener('myCustomEvent', function(event) { // код обработчика события }); |
1
|
element.dispatchEvent(myEvent); |
Таким образом, при вызове события "myCustomEvent" будет выполнен обработчик, который был определен на втором этапе.
@guillermo
Дополнительно можно передавать данные в созданное событие, добавляя их в объект CustomEvent:
1 2 3 4 5 6 7 8 9 10 11 |
// Создание экземпляра события CustomEvent с передачей дополнительных данных var eventData = { message: 'Hello, World!' }; var myCustomEvent = new CustomEvent('myCustomEvent', { detail: eventData }); // Определение обработчика события element.addEventListener('myCustomEvent', function(event) { console.log('Событие myCustomEvent с данными:', event.detail); }); // Вызов события element.dispatchEvent(myCustomEvent); |
Таким образом, при вызове события "myCustomEvent" с передачей данных будет выполнен соответствующий обработчик, который получит доступ к переданным данным через свойство event.detail
.