【问题标题】:My Plugin dont overwrite the default values我的插件不会覆盖默认值
【发布时间】:2011-09-08 12:47:34
【问题描述】:

我尝试实现我的第一个 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”。
有什么问题?

有人可以帮帮我吗?

【问题讨论】:

    标签: jquery plugins


    【解决方案1】:

    尝试以这种方式扩展:

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

    然后使用config.text访问该值

    【讨论】:

      【解决方案2】:

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

      function(selector, settings){
          var config = {
              'text': "test"
          };
      
          config = $.extend(config, settings || {});
      }
      

      【讨论】:

        【解决方案3】:

        你在打电话

        $.test("juhu");
        

        但是你的函数有两个参数

        $.test = function(selector, settings)
        

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

        【讨论】:

          猜你喜欢
          • 2013-10-23
          • 2012-12-19
          • 2021-05-19
          • 1970-01-01
          • 1970-01-01
          • 2011-12-20
          • 1970-01-01
          • 2011-02-22
          相关资源
          最近更新 更多