jQuery .trigger()多个事件 [英] jQuery .trigger() multiple events
本文介绍了jQuery .trigger()多个事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在编写一个jQuery插件,并使用.on
和.trigger
作为我的发布/订阅系统.但是,我想在不同的情况下触发多个事件.
I'm writing a jQuery plugin and using .on
and .trigger
as my pub/sub system. However, I want to trigger multiple events in different scenarios.
是否可以像.on
方法那样将其用作一个字符串?
Is this possible to do as one string, like the .on
method?
目标:
$this.trigger("success next etc"); // doesn't work
当前解决方案:
$this
.trigger("success")
.trigger("next")
.trigger("etc"); // works, triggers all three events
有什么建议吗?
推荐答案
JQuery本身不支持触发多个事件,但是您可以编写自定义扩展方法triggerAll
JQuery itself does not support triggering multiple events, however you could write custom extension method triggerAll
(function($) {
$.fn.extend({
triggerAll: function (events, params) {
var el = this, i, evts = events.split(' ');
for (i = 0; i < evts.length; i += 1) {
el.trigger(evts[i], params);
}
return el;
}
});
})(jQuery);
并按以下方式调用它:
$this.triggerAll("success next etc");
这篇关于jQuery .trigger()多个事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文