18-讨论
8.4.3 讨论
1.如何用某个命名空间触发处理程序
现在,假定你想要以编程方式触发插件myPlugin中绑定的单击事件。你可以简单地触发单击事件,但是这是一个不好的方法,因为绑定到相同事件的所有其他处理程序也会启动。
下面是正确进行这一操作的方法:
jQuery.fn.runMyPlugin = function(){
return this.trigger('click.myPlugin');
};
2.如何触发没有命名空间的处理程序
相反,你可能需要触发一个单击事件(或者任何其他事件),但是目标元素属于一个或者多个插件。触发事件可能运行不受欢迎的事件处理程序,并且可能导致难以调试的问题。
所以,假定所有插件都使用了命名空间,下面是安全触发一个单击事件的方法:
jQuery('div.panels').trigger('click!');