【发布时间】:2009-10-04 23:22:12
【问题描述】:
我正在寻找一种从我的 jQuery 插件中分派事件的方法,以便它可以为该事件提供多个侦听器。我有插件设置,以便它返回对自身的引用,以便我以后可以通过公共方法添加侦听器。
到目前为止,我看到的唯一示例只有一个事件处理程序,例如:
$.fn.foo = function( options ) {
...
// trigger event
options.eventHandler();
}
$('#bar').foo({ eventHandler: myEventHandler })
我要做的唯一选择是,只需拥有一组已注册的事件处理程序并调用它们中的每一个,还是我错过了更好的选择。
【问题讨论】:
-
好奇:你为什么要为一个事件添加多个监听器?
-
因为当事件发生时我希望多件事情发生,这是基于事件的编程的核心优势之一。例如,我可以向点击事件添加任意数量的侦听器,它们都会根据该事件做自己的事情。
-
有道理。我已经添加了一个答案。只是为了结束循环。
标签: jquery events plugins listener dispatch