jquery ui _trigger vs trigger

Tom*_*mmy 10 jquery jquery-ui jquery-plugins

我开发了一个jquery ui-plugin,并不能真正理解使用哪种方法.根据jquery ui文档,我应该使用_trigger来触发事件,这允许使用插件初始化处理程序

$("#id").pluginname({ 
   click: function(){ 
      //called when clicked
   }
});
Run Code Online (Sandbox Code Playgroud)

但如果我后来想要为这次活动增加更多的听众,我找不到任何办法.我正在尝试使用jquery绑定,但这不起作用.例:

$("#id").bind("click", function(){
    //This does not get fired on click if using _trigger
})
Run Code Online (Sandbox Code Playgroud)

到目前为止,我唯一的解决办法是解雇两者,但感觉有点奇怪.我的代码必须执行以下操作:

$("#id").pluginname({
  click: function(){
     //called when my plugin uses this._trigger('click')
  }
}).bind(function(){
    //called when my plugin uses this.element.trigger('click')
});
Run Code Online (Sandbox Code Playgroud)

我正在使用自定义事件,但并不认为这与提出这个问题有关.任何人都知道如何在使用_trigger()时使用事件链接?

bul*_*are 10

你应该像这样绑定:

$("#id").bind("pluginnameclick", function(){
Run Code Online (Sandbox Code Playgroud)

  • 嗨,谢谢你的回答.幸运的是,我在页面上发现了一条评论,称该事件名称已转换为小写.在这种情况下我的例子没有发现我有一个带有驼峰案例名称的事件.但是,这意味着您的建议是正确的.非常感谢帮助我解决这个问题. (6认同)
  • 是的,everythig是**小写**.如果你的示例小部件有camelcase名称,我会指向它.你也可以像`me.element.trigger('click.MyWidget')`那样触发它,在这种情况下你应该绑定`$("#id").bind("click.MyWidget",...` (2认同)