我的插件不会覆盖默认值

时间:2011-09-08 12:47:34

标签: jquery plugins

我尝试实现我的第一个jquery插件(我是一个菜鸟)。

(function($){

    $.test = function(selector, settings){

        // settings

        var config = {
            'text': "test"
        };

        if ( settings ){$.extend(config, settings);}

        // variables

        var i = 0;
        alert(config.text);
    };

})(jQuery);

调用

$.test("juhu");

脚本应警告“Juhu”不是默认值“test” 这是什么错?

有人可以帮帮我吗?

3 个答案:

答案 0 :(得分:1)

尝试以这种方式扩展:

if (settings) { config = $.extend( {}, config, settings ); }

然后使用config.text

访问该值

答案 1 :(得分:0)

您需要指定$.extend的返回值。尝试像

这样的东西
function(selector, settings){
    var config = {
        'text': "test"
    };

    config = $.extend(config, settings || {});
}

答案 2 :(得分:0)

你正在打电话

$.test("juhu");

但你的函数需要两个参数

$.test = function(selector, settings)

所以“juhu”成为选择器,设置未定义,这意味着如果(设置)失败并且默认的“test”字符串被警告。