jQuery.extend和jQuery.fn.extend的区别
2018-06-27 · 百度知道合伙人官方认证企业
XML/HTML代码
$.extend({
add:function(a,b){return a+b;}
});
便为 jQuery 添加一个为 add 的 “静态方法”,之后便可以在引入 jQuery 的地方,使用这个方法了,
jQuery.fn.extend(object);给jQuery对象添加方法。
jQuery.fn.extend(object); 对jQuery.prototype进得扩展,就是为jQuery类添加“成员函数”。jQuery类的实例可以使用这个“成员函数”。
比如我们要开发一个插件,做一个特殊的编辑框,当它被点击时,便alert 当前编辑框里的内容。可以这么做:
JavaScript代码
$.fn.extend({
alertWhileClick:function(){
$(this).click(function(){
alert($(this).val());
});
}
});
$(“#input1″).alertWhileClick();
页面上为:<input id=”input1″type=”text”/>
$(“#input1″) 为一个jQuery实例,当它调用成员方法 alertWhileClick后,便实现了扩展,每次被点击时它会先弹出目前编辑里的内容。
真实的开发过程中,当然不会做这么小白的插件,事实上jQuery提拱了丰富的操作文档,事件,CSS ,Ajax、效果的方法,结合这些方法,便可以开发出更加 Niubility 的插件。
2015-08-24
$.extend(object); 为扩展jQuery类本身.为类添加新的方法。
第一种
$.extendFun = {
alert : function(){
alert(1);
},
alerts : function(){
alert(2);
}
}
调用的方式
$.extendFun.alert();
$.extendFun.alerts();
第二种
$.alert = function(){
alert(1);
}
$.alert();
当然,更推荐使用第一种,添加命名空间,可以避免同名冲突
$.fn.extend(object);给jQuery对象添加方法。
$.fn 是$这个对象的原型引用,也就是我们平时的DOM对象,$(selected);
$.fn.alerts = function(){
alert(1);
}
调用的方式
$(selected).alerts(1);
无论是$.extend还是$.fn.extend他们是创建jQuery函数的语法,除了语法上有点不一样和调用方式不一样,其实本质是差不多的,效果都是一样的,建议去看下jquery基础教程的第8章,有讲解,并且有写插件的教程