我开发了一个jQuery UI插件,但不太清楚应该使用哪个方法。根据jQuery UI文档,我应该使用_trigger来触发事件,这样处理程序就可以像插件一样进行初始化。
$("#id").pluginname({
click: function(){
//called when clicked
}
});
但是如果我后来想要附加更多的侦听器到这个事件上,我找不到任何方法来实现。 我尝试使用jQuery绑定(bind), 但那并不起作用。 例如:
$("#id").bind("click", function(){
//This does not get fired on click if using _trigger
})
到目前为止,我唯一的解决方案是同时触发两个事件,但这感觉有点奇怪。 我的代码必须执行以下操作才能正常工作:
$("#id").pluginname({
click: function(){
//called when my plugin uses this._trigger('click')
}
}).bind(function(){
//called when my plugin uses this.element.trigger('click')
});
我正在使用自定义事件,但认为这与我的问题无关。有人知道如何在使用_trigger()时使用事件链接吗?
me.element.trigger('click.MyWidget')
在这种情况下,您应该绑定:$("#id").bind("click.MyWidget", ...
- bullgare