gpt4 book ai didi

jQuery 从插件中为多个监听器调度事件

转载 作者:行者123 更新时间:2023-12-01 01:30:24 27 4
gpt4 key购买 nike

我正在寻找一种从 jQuery 插件分派(dispatch)事件的方法,以便它可以有多个该事件的监听器。我设置了插件,以便它返回对自身的引用,以便我稍后可以通过公共(public)方法添加监听器。

到目前为止我见过的唯一示例有一个事件处理程序,例如:

$.fn.foo = function( options ) {
...
// trigger event
options.eventHandler();
}

$('#bar').foo({ eventHandler: myEventHandler })

这是我唯一要做的选择,只需拥有一组已注册的事件处理程序并调用每个处理程序,或者我是否缺少更好的选择。

最佳答案

我会将一个数组放入构造函数/选项对象中。这是通常的做法:

$("").plugIn(
{
prop: "value",
foo: "bar",
eventsToFire: [
function () { },
function () { },
function () { }
]
});

插件会做一些类似的事情:

假设您正在编写一个应该在集合上执行的插件。

jQuery.fn.plugIn = function (options)
{
return this.each(function ()
{
var i = options.eventsToFire.length;

while (i--) options.eventsToFire[i]();
});
};

关于jQuery 从插件中为多个监听器调度事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1517698/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com