我开发了一个jquery ui-plugin,无法真正理解使用哪种方法。 根据jquery ui文档,我应该使用_trigger来触发事件,这允许使用插件初始化处理程序,如
$("#id").pluginname({
click: function(){
//called when clicked
}
});
但如果我以后想要为这个事件添加更多的听众,我找不到任何方法来做到这一点。 我正在尝试使用jquery绑定,但这不起作用。 例如:
$("#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()时如何使用事件链接?
答案 0 :(得分:10)
你应该像这样绑定:
$("#id").bind("pluginnameclick", function(){
答案 1 :(得分:4)
您应该使用this._on
和this._trigger
来执行此操作,以便在销毁窗口小部件时清除事件。
否则你必须自己取消绑定事件,否则窗口小部件不会被浏览器的垃圾收集清理
希望这能回答你的问题