我什么时候应该在jQuery中使用$ .fn.extend()?

时间:2013-12-10 06:22:12

标签: javascript jquery

我是jQuery的新手。一些jQuery插件使用$.fn.extend(),我在jQuery api文档中看到过,但我不明白何时应该使用它或如何使用它。

我已经在插件skitter-slider中看到过它。我真的想知道如何使用它。

如果有人能帮助我,我将不胜感激。提前谢谢。

2 个答案:

答案 0 :(得分:1)

  

什么时候我会用它以及如何

当您想要合并对象时。例如,你有

var A = {
   foo: 42
};

var B = {
   bar: 21;
};

现在您要将B合并到A,以创建

var A = {
   foo: 42,
   bar: 21
};

这是由

完成的
$.extend(A, B);

答案 1 :(得分:-1)

例如,如果您有任何配置插件,您可以设置默认值并使用$ .extend补充此内容

看看这个:

(function ($) {

    $.superPlugin = {

        // plugin defaults
        defaults: 
        {
            mainClass: 'node',
            orientation: 'vertical',
            focusEvent: function (event) {
                console.log('Focus!');
            }
        };
    };

    // plugin code
    $.fn.superPlugin = function (fn, options) {

        var config = $.extend( true, {}, $.setSelect.defaults, options );

        /**
         *  results: { 
         *      mainClass: 'node', 
         *      orientation: 'horizontal', 
         *      focusEvent: function (event) {
         *         console.log('Custom focus event!');
         *      }
         *  }
         */
    };

})(jQuery);

// custom config
var options = {
    orientation: 'horizontal',
    focusEvent: function (event) {
        console.log('Custom focus event!')
    }
}

// bind plugin to element
$('.item').superPlugin(options);