Jquery插件在初始化后更改默认值

Jquery插件在初始化后更改默认值,jquery,jquery-plugins,Jquery,Jquery Plugins,我创建了这个简单的插件 ;(function ($, window, document, undefined) { //Function-level strict mode syntax 'use strict'; /** * PLUGIN */ $.fn.Plugin = function(options) { var opts = $.extend({}, $.fn.Plugin.defaults, options);

我创建了这个简单的插件

;(function ($, window, document, undefined) {
    //Function-level strict mode syntax
    'use strict';

    /**
     * PLUGIN
     */
    $.fn.Plugin = function(options) {
        var opts = $.extend({}, $.fn.Plugin.defaults, options);
        return this.each(function() {
            var that = this;
            console.log ("plugin init with " + opts.var + " - " + opts.act);
            if (opts.pre) {
                console.log ("preset enable");
            }
        });
    };

    $.fn.Plugin.defaults = {
        var: 'id',
        act: null,
        pre: false,
    };
})(jQuery, window, document);
我希望在初始化后插入/修改默认值, 保留我在开始时初始化的值

像这样

$('div').Plugin({ 
    var: 'foo', 
    act: 'go' 
});  //  plugin init with foo - go

$('.btn').on('click', function() {
    $('div').Plugin({ 
        pre: true 
    }); // plugin init with foo - go // preset enable
});
如何更改插件的代码以实现此目的?
谢谢你

我不太明白你的问题。我注意到您的代码中有一个可能的输入错误:根据对象的属性,if(opts.preset)应该是if(opts.pre)structure@kennasoft-这是我的错误,现在我更正了我的代码。这解决了你的问题吗?还是你打算再详细说明一下你的问题?@kennasoft-我想修改我插件的结构(可能使用方法?)这样你可以在插件初始化后通过保留用于初始化它的值来设置插件的一些参数。就像在我的示例中一样。我希望这更清楚。谢谢你可以看看这个答案:我不确定我是否理解你的问题。我注意到你的代码中可能有一个输入错误:if(opts.preset)应该是if(opts.pre),根据对象的structure@kennasoft-这是我的错误,现在我更正了我的代码。这解决了你的问题吗,还是你打算进一步详细说明你的问题?@kennasoft-我想修改我的插件的结构(可能使用方法?)因此,您可以在插件初始化后通过保留用于初始化插件的值来设置插件的一些参数。如我的示例中所示。我希望这更清楚。谢谢您可以查看以下答案: