jquery ui _trigger vs trigger

时间:2011-08-05 09:51:42

标签: jquery jquery-ui jquery-plugins

我开发了一个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()时如何使用事件链接?

2 个答案:

答案 0 :(得分:10)

你应该像这样绑定:

$("#id").bind("pluginnameclick", function(){

答案 1 :(得分:4)

您应该使用this._onthis._trigger来执行此操作,以便在销毁窗口小部件时清除事件。

否则你必须自己取消绑定事件,否则窗口小部件不会被浏览器的垃圾收集清理

希望这能回答你的问题