Асинхронный или синхронный вызов обработчиков событий в JavaScript

обработчики событий выполняются синхронно или асинхронно в JavaScript? Вот JS bin который показывает, что обработчик событий выполняется синхронно.

код:

$('#toclick').bind('custom', function() {
    for (var i=0; i<100000; i++) {}
    console.log('Inside click handler');
});

$('#toclick').trigger('custom');
console.log('Outside click handler');

Output:
Inside click handler
Outside click handler

это означает, что если мы запускаем событие, код ниже не будет выполнен, если не будут выполнены все обработчики событий. Я прав ?

Bin с несколькими обработчиками событий

2 ответов


Это правильно. Все обработчики событий запускаются синхронно и в порядке обязательных.


некоторые обработчики событий выполняются synchonously и другие асинхронно. См.DOM-Level-3-события