Czy programy obsługi zdarzeń są wykonywane synchronicznie lub asynchronicznie w JavaScript? Oto JS bin, który pokazuje, że procedura obsługi zdarzeń jest wykonywana synchronicznie.Asynchroniczne lub synchroniczne wywoływanie procedur obsługi zdarzeń w javascript
Kod:
$('#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
Oznacza to, że jeśli mamy wyzwolić zdarzenie, kod poniżej nie zostanie wykonany, chyba że wszyscy obsługi zdarzeń są wykonywane. Czy mam rację ?
Bin with multiple event handlers
wszystkie zdarzenia są synchroniczne. Możesz również zajrzeć do propagacji zdarzeń http://www.quirksmode.org/js/events_order.html – Ejaz