触发多事件 [英] Trigger multi-events

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

问题描述

我可以在trigger()中触发多个事件还是可以在JQuery中将它们链接!例如:

Can I trigger multi events in trigger() or chain them in JQuery!? E.g:

$(element).trigger('event1 event2 event3');

$(element).trigger('event1').trigger('event2');

$(element).trigger('event1');
$(element).trigger('event2');

推荐答案

其他答案指出,最好的内置方法是:

As other answers note, the best built-in method is:

$(element).trigger('event1').trigger('event2');

但是,我发现如果您到处都在做,一个简单的插件就可以很好地清理它,允许使用空格分隔的语法(例如 jQuery

However, I find that if you're doing this all over the place, a simple plugin cleans it up quite nicely, allowing the space-separated syntax (like other jQuery methods). Here's a quick example of such a plugin:

$.fn.triggerAll = function(events) {
    if(!events) return this; //don't blow up if .triggerAll() without params
    var self = this;         //keep a reference
    $.each(events.split(" "), function(i, e) { self.trigger(e); });
    return this;
};

然后您可以使用以空格分隔的事件名称来调用它,如下所示:

Then you can call it with space-separated event names, like this:

$(element).triggerAll('event1 event2 event3');

您可以在此处进行测试

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

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