我使用的是 jQuery 1.9.1。
假设我有一个 id="clickMe"的按钮 我的 jQuery 代码是:
$('#clickMe').click(function(event)
{
eventHandler1();//do something
eventHandler2();//use output from eventHandler1() and do something
}
现在,我希望最后执行“eventHandler2”,以便我可以使用“eventHandler1”的输出。有没有什么方法可以手动执行此操作,而不仅仅是我将处理程序放入单击事件中的方式? 另一件事是,“eventHandler1()”和“eventHandler2()”存在于不同的 .js 文件中,因此是要求。
最佳答案
jQuery.when()
提供了一种基于一个或多个对象(通常是表示异步事件的延迟对象)执行回调函数的方法。
例如,当 Deferreds 是 jQuery.ajax()
请求时,参数将是请求的 jqXHR 对象
,按照它们在参数列表。
$.when(eventHandler1).then(eventHandler2).done(function(){
alert('done.');
});
关于event-handling - 在 jQuery 中设置单击事件的事件处理程序的执行顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16053067/