【发布时间】:2013-04-02 04:27:59
【问题描述】:
在 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
这意味着如果我们触发一个事件,它下面的代码将不会被执行,除非所有的事件处理程序都被执行。我说的对吗?
【问题讨论】:
-
所有事件都是同步的。您可能还想查看事件传播quirksmode.org/js/events_order.html
标签: javascript jquery asynchronous event-handling synchronous