Это старый поток, просто чтобы обновить его, я добавляю еще один ответ, чтобы он стал более понятным для любого.
initEvent () устарел Он все еще поддерживается внекоторые браузеры, но избегайте его использования.
Существует более краткий способ создания событий, подобных этому
function fireEvent(target) {
var event = new Event('build');
// Listen for the event.
target.addEventListener('build', function (e) { ... }, false);
// Dispatch the event.
target.dispatchEvent(event);
}
Чтобы добавить больше данных в объект события, существует интерфейс CustomEvent, и свойство detail можетиспользоваться для передачи пользовательских данных.Например, событие может быть создано следующим образом:
var event = new CustomEvent('build', { 'detail': target.dataset.time });
Ссылка: Создание и запуск событий