我将两个onchange
个事件绑定到我的选择框。
var function = f1(e) {
// Codes to run
}
var function = f2(e) {
// Codes to run
}
$(document).ready(function() {
var elmt = $("#select-box");
elmt.unbind("change");
elmt.bind("change", f1);
elmt.bind("change", f2);
});
我了解在onchange
触发我的#select-box
元素时,它会同步执行f1
和f2
。我想要实现的是,在onchange
之后, 首先 执行f1
,因为它首先被绑定。之后,f2
- 一个接一个, 不是同步 。
请理解我的方案需要我,因此我 不能 ,将f2
放在f1
内,或者反之亦然达到这个效果。
有没有办法做到这一点?此外,这是一个简化版本,真实代码至少将三个功能绑定到单个事件。谢谢!
AJAX
和f1
内有f2
次来电。我不能把它放到另一个虚拟函数中说:
function f3(e) { f1(e); f2(e); }
答案 0 :(得分:1)
你不必做任何事情。
JS是单线程的。这意味着,虽然某些代码正在运行,但其他代码必须在运行之前等待。所以这个功能不会同时运行。
根据bind
documentation,订单将是理想的订单:
如果注册了多个处理程序,它们将始终执行 他们受约束的顺序。