【问题标题】:jQuery: Adding a destroy method to pluginjQuery:向插件添加销毁方法
【发布时间】:2013-10-03 13:27:37
【问题描述】:

我创建了一个插件,我需要能够随意取消绑定和重新绑定。我怎样才能 将其打包在我的插件中的一个方法中,以便可以随意调用它?

我的插件是这样的:

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

然后叫...

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

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

【问题讨论】:

    标签: jquery plugins


    【解决方案1】:

    类似的东西:

    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 只需使用参数 ('destroy') 调用您的插件;例如:$('selector').MyPlugin('destroy');
    • 我在哪里可以将destroy: function(){...}放在插件中?
    • 你可以在 jQuery UI.js 中看到一个例子 ;)
    猜你喜欢
    • 2014-09-18
    • 1970-01-01
    • 2015-12-04
    • 2011-06-22
    • 1970-01-01
    • 1970-01-01
    • 2020-05-05
    • 2019-01-26
    • 2013-02-26
    相关资源
    最近更新 更多