调用 .click();总是在返回之前调用所有事件处理程序?
Does calling .click(); always call all event handlers before returning?
如果我有以下代码:
$("#button").click(function() {
console.log("2");
});
console.log(1);
$("#button").click();
console.log(3);
我可以依赖输出总是如下吗?
1
2
3
如果您的点击事件处理程序执行同步任务 - 是
如果您在点击事件处理程序中有一些异步的东西 - 否
在您的示例中,是的,因为这些是同步任务。除非你有正在处理的异步代码。
如果我有以下代码:
$("#button").click(function() {
console.log("2");
});
console.log(1);
$("#button").click();
console.log(3);
我可以依赖输出总是如下吗?
1
2
3
如果您的点击事件处理程序执行同步任务 - 是
如果您在点击事件处理程序中有一些异步的东西 - 否
在您的示例中,是的,因为这些是同步任务。除非你有正在处理的异步代码。