一、全局函数的扩展
全局函数是将独立的函数添加到JQuery的命名空间中区。在使用的时候,可以通过$.fucnName(param)或者jQuery.funcName(param)方式进行调用。
1、直接在JQuery上添加:在jQuery上添加一个全局函数sayHello
代码如下
jQuery.sayHello=function(name)
{
alert(name+"您好");
};
调用方式:
代码如下
jQuery.sayHello("张子涵");
//或者用$.sayHello("张子涵");
2、jQuery.extend():其作用是用一个或者多个对象来扩展一个对象,返回被扩展的对象。
2.1 jQuery.extend(dsc,src1,src2…):将src1,src2扩展到dsc对象,并返回扩展后的dsc对象(合并对象)
2.2 jQuery.extend(object):对jQuery命名空间本身进行扩展,结果就是在jQuery命名空间上增加函数。
代码如下
//在jQuery命名空间上增加两个函数。
jQuery.extend({
min: function(a, b) { return a < b ? a : b; },
max: function(a, b) { return a > b ? a : b; }
});
调用方式
代码如下
jQuery.min(2,3); // => 2
jQuery.max(4,5); // => 5
二、对象方法的扩展
对象方法的扩展可以让所有jQuery对象调用的方法。
1、jQuery.fn
代码如下
//在jQuery对象上添加sayHello方法
jQuery.fn.sayHello=function(name)
{
alert(name+"您好");
}
调用
$("div").sayHello("dwqs");
2、jQuery.fn.extend
扩展 jQuery 元素集来提供新的方法(通常用来制作插件)。
代码如下
//增加两个插件方法。
jQuery.fn.extend({
check: function() {
return this.each(function() { this.checked = true; });
},
uncheck: function() {
return this.each(function() { this.checked = false; });
}
});
调用:
$("input[type=checkbox]").check();
$("input[type=radio]").uncheck();