javascript - jQuery 等待多个事件触发

标签 javascript jquery jquery-deferred

是否可以在执行函数之前“等待”多个事件?我知道 jQuery deferred obejcts 可以使用 $.when 来等待两个 promise 解决,但我想知道它是否有可能只用普通的旧事件?

假设点击事件和自定义事件触发警报,例如:

$.when("click", "customEvent").then(function(){ alert("yay"); });

最佳答案

可以使用 deferred,您只需要自己创建它们。

var clickDfd = $.Deferred();
var eventDfd = $.Deferred();
$("div").on("click", function(e) {
   clickDfd.resolve();
});

$("div").on("some-event", function(e) {
   eventDfd.resolve();
});

$.when(clickDfd, eventDfd).done(function(){ 
    alert("yay"); 
});

关于javascript - jQuery 等待多个事件触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14892384/

相关文章:

javascript - Axios GET 请求忽略响应 Cache-Control max-age

javascript - 等待函数完成执行

javascript - 在 jQuery 中的多个 $.each 循环中使用 deferred

javascript - 如何让cloudantDb.search返回所有记录而不是限制25条和书签

javascript - 移动网站上的滚动到顶部按钮

javascript - 在 Angular js中绑定(bind)多个复选框

javascript - 使用 $.deferred 作为发布者/订阅者?

jquery - 基本 jQuery 动画 : Elipsis (three dots sequentially appearing)

javascript - 检索添加的 jquery 行

javascript - 文档底部编写的代码总是在 DOM 准备好之后执行吗?