20

事件处理程序在 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');

输出:

Inside click handler
Outside click handler

这意味着如果我们触发一个事件,它下面的代码将不会被执行,除非所有的事件处理程序都被执行。我对吗 ?

带有多个事件处理程序的 Bin

4

2 回答 2

17

这是正确的。所有事件处理程序都是按绑定顺序同步触发的。

于 2013-04-10T11:03:45.560 回答
10

一些事件处理程序是同步执行的,而另一些是异步执行的。请参阅DOM-Level-3-Events

于 2013-07-01T15:56:51.357 回答