javascript中事件处理程序的异步或同步调用
在 JavaScript 中事件处理程序是同步执行还是异步执行?这是 JS bin 显示事件处理程序是同步执行的.
Are event handlers executed synchronously or asynchronously in JavaScript? Here is JS bin which is showing that event handler is executed synchronously.
代码:
$('#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
这意味着如果我们触发一个事件,它下面的代码将不会被执行,除非所有的事件处理程序都被执行.我说的对吗?
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
推荐答案
没错.所有事件处理程序都是按绑定顺序同步触发的.
That's correct. All event handlers are fired synchronously and in order of binding.
相关文章