Asynchronous or Synchronous calling of event handlers in javascript

sachinjain024 picture sachinjain024 · Apr 10, 2013 · Viewed 13.3k times · Source

Are event handlers executed synchronously or asynchronously in JavaScript? Here is JS bin which is showing that event handler is executed synchronously.

Code:

$('#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

This means if we trigger an event, the code below it won't be executed unless all the event handlers are executed. Am I right ?

Bin with multiple event handlers

Answer

freakish picture freakish · Apr 10, 2013

That's correct. All event handlers are fired synchronously and in order of binding.