触发多事件 [英] Trigger multi-events
本文介绍了触发多事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我可以在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屋!
查看全文