【发布时间】:2014-09-28 10:20:29
【问题描述】:
function1 = function(){
something.on('transitionend', function(){
// now function2 should run
});
}
function2 = function(){
alert('ok');
}
function1();
function2();
所以我听说了 jQuery 承诺。我会返回一个“延迟”对象,并在事件处理程序中调用 deferred.resolve();
但是如果我在那里有多个事件处理程序并且我只希望下一个函数在所有事件都被触发后运行会发生什么? + 我不喜欢在代码的其他部分引入诸如“延迟”之类的外来内容。
有没有其他方法可以检测 function1 是否完成了所有工作?
【问题讨论】:
-
将
function2作为参数传递给function1,并在回调中调用.on。如:function1(function2);然后:function1 = function(callback){ something.on('transitionend', callback); }
标签: javascript jquery jquery-plugins jquery-deferred jquery-events