事件处理程序是否在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
这意味着如果我们触发一个事件,除非执行所有事件处理程序,否则不会执行它下面的代码。我是对的吗?
答案 0 :(得分:15)
这是对的。所有事件处理程序都是按照绑定顺序同步触发的。
答案 1 :(得分:9)
某些事件处理程序是同步执行的,而其他事件处理程序是异步执行的。 见DOM-Level-3-Events