jQuery:向插件添加destroy方法

6

我创建了一个插件,需要能够随时解除绑定和重新绑定。如何在我的插件中封装一个方法,以便可以随时调用?

我的插件代码如下:

 (function($) {
     $.fn.myPlugin = function(options) {
            .................
            .................
            .................
            .................
            .................
            .................
      }; 
})( jQuery );

并且被称为...

$('#selector').myPlugin();

编辑:基本上,我想要在我的插件中添加一个销毁方法。

1个回答

2

好的,像这样:

delete $.fn.MyPlugin;

你可以选择在插件中编写destroy方法,例如:

destroy: function() {
    this._destroy(); //or this.delete; depends on jQuery version
    this.element.unbind( this.eventNamespace )
    this.bindings.unbind( this.eventNamespace );
    //this.hoverable.removeClass( "hover state" );
    //this.focusable.removeClass( "focus state" );
}

我想能够为我的插件添加一个销毁方法,以便手动解绑所有与适当选择器相关的处理程序。 - Fraser
谢谢。我应该如何在我的当前插件中组织它?它是放在插件函数内还是外面? - Fraser
@Fraser 只需使用参数 ('destroy') 调用您的插件,例如:$('selector').MyPlugin('destroy'); - PingOfDeath
我应该在插件本身的哪里放置destroy: function(){...}函数? - Fraser
你可以在jQuery UI.js中看到一个例子 ;) - PingOfDeath

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接