0

如果我有

$("a#foo").click();
$("a#bar").click();
dostuff();

并且两者都附加了单击处理程序,它们执行不同的操作..是否保证 bar 的单击处理程序只会在 foo 完成后执行?或者他们是异步发送的

同样.. dostuff() 是否仅在 foo 和 bar 的点击处理程序完成后执行?

4

2 回答 2

1

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

于 2009-11-12T01:59:55.093 回答
1

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

所以 foo click() 函数会在 bar click() 被调用之前返回,它会在 doStuff() 被调用之前返回。

于 2009-11-12T07:36:22.763 回答