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(){}