Javascript jQuery正在等待触发多个事件
是否可以在执行函数之前“等待”多个事件?我知道使用Javascript jQuery正在等待触发多个事件,javascript,jquery,jquery-deferred,Javascript,Jquery,Jquery Deferred,是否可以在执行函数之前“等待”多个事件?我知道使用jQuery延迟obejcts使用$是可能的。当等待两个承诺解决时,我想知道仅仅是简单的旧事件是否可能 假设单击事件和自定义事件触发警报,例如: $.when("click", "customEvent").then(function(){ alert("yay"); }); 嗯,检查事件类型并以旧方式设置它们。简单的jQuery和JS 仅当两个事件都已完成/触发时,才会向1发出警报 您可以使用deferred,您只需要自己创建它们 var c
jQuery
延迟obejcts使用$是可能的。当
等待两个承诺解决时,我想知道仅仅是简单的旧事件是否可能
假设单击事件和自定义事件触发警报,例如:
$.when("click", "customEvent").then(function(){ alert("yay"); });
嗯,检查事件类型并以旧方式设置它们。简单的jQuery和JS
仅当两个事件都已完成/触发时,才会向1发出警报
您可以使用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");
});
我考虑过使用这种方法(可能会),我只是好奇他们的方法是否是一种整洁的“神奇”jQuery方式。谢谢你的回答:)@CrimsonChin我们不会坐等别人为你施魔法。你们应该在网上搜索或者自己试试。嗯,在我看来,我不认为整洁的解决方案总是有帮助的。如果你下定决心要做大事,你也需要肮脏的解决方案。
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");
});