jQuery等待多个事件触发 [英] jQuery Waiting for Multiple Events to fire

查看:81
本文介绍了jQuery等待多个事件触发的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在执行函数之前是否可以等待多个事件?我知道它可能与 jQuery deferred obejcts使用 $。when 等待两个承诺解决,但我想知道它是否可能只是简单的旧事件?

Is it possible to "wait" for multiple events before executing a function? I know its possible with jQuery deferred obejcts to use $.when to wait for two promises to resolve but I wondered if its possible with just plain old events?

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

Lets say a click event and a custom event trigger an alert, for example:

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


推荐答案

可以使用延期,你只需要自己创建它们。

You could use deferred, you just have to create them yourself.

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"); 
});

这篇关于jQuery等待多个事件触发的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆