1 jQuery.fn.extend(); 2. jQuery.extend();

jQuery为开发插件提拱了两个方法,分别是:

1.jQuery.fn.extend();

2.jQuery.extend();

(1).jQuery.extend(object); 

它是为jQuery类添加类方法,可以理解为添加静态方法。如:

a.jQuery.extend({

min:function(a,b){returna<b?a:b;},

max:function(a,b){returna>b?a:b;}

});

jQuery.min(2,3);//2

jQuery.max(4,5);//5

(2).jQuery.fn.extend(object);

$.fn是什么?

$.fn是指jQuery的命名空间,fn上的成员(方法function及属性property),会对jQuery实例每一个有效。

查看jQuery代码,就不难发现。

jQuery.fn=jQuery.prototype={

 init:function(selector,context){//.... 

};

原来jQuery.fn=jQuery.prototype.

所以,它是对jQuery.prototype进得扩展,就是为jQuery类添加“成员函数”。jQuery类的实例可以使用这个“成员函数”。

比如我们要开发一个插件,做一个特殊的编辑框,当它被点击时,便alert当前编辑框里的内容。可以这么做:

$.fn.extend({

doAlertWhileClick:function(){

$(this).click(function(){

alert($(this).val());

});

}

});

$("#input1").doAlertWhileClick();//页面上为:

$("#input1") 为一个jQuery实例,当它调用成员方法doAlertWhileClick后,便实现了扩展,每次被点击时它会先弹出目前编辑里的内容。

$.fn.extend({

doAlertWhileClick:function(){}

})

另一种写法是:

$.fn['doAlertWhileClick']=function(){}

相关推荐