在javascript中异步或同步调用事件处理程序

Asynchronous or Synchronous calling of event handlers in javascript

本文关键字:调用 事件处理 程序 同步 javascript 异步      更新时间:2023-09-26

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

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

有些事件处理程序是同步执行的,有些是异步执行的。看到DOM-Level-3-Events