javascript中事件处理程序的异步或同步调用 [英] Asynchronous or Synchronous calling of event handlers in javascript

查看:23
本文介绍了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.

这篇关于javascript中事件处理程序的异步或同步调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆