jQuery/javascript问题,单击处理程序是否异步执行?

jQuery/javascript问题,单击处理程序是否异步执行?,javascript,jquery,asynchronous,click,handler,Javascript,Jquery,Asynchronous,Click,Handler,如果我有 $("a#foo").click(); $("a#bar").click(); dostuff(); 两者都附加了click处理程序,这些处理程序执行不同的操作。是否保证bar的click处理程序只在foo完成后执行?或者它们是异步调度的 类似地,..dostuff()是否仅在foo和bar的单击处理程序完成后执行?这取决于foo的操作(您可以在技术上设置foo以使用setTimeout触发事件,该设置可以在方法完成后触发),但yes bar应该在foo完成后触发。浏览器中的Java

如果我有

$("a#foo").click();
$("a#bar").click();
dostuff();
两者都附加了click处理程序,这些处理程序执行不同的操作。是否保证bar的click处理程序只在foo完成后执行?或者它们是异步调度的


类似地,..dostuff()是否仅在foo和bar的单击处理程序完成后执行?

这取决于foo的操作(您可以在技术上设置foo以使用setTimeout触发事件,该设置可以在方法完成后触发),但yes bar应该在foo完成后触发。

浏览器中的Javascript执行模型是单线程的(总的来说),因此在HttpXmlRequest之类的东西之外的任何地方都不会发生异步调度

因此,foo click()函数将在调用bar click()之前返回,而bar click()函数将在调用doStuff()之前返回