编写jQuery插件(二)——jQuery插件类型和机制
jQuery插件类型
jQuery插件主要有3种类型:
1、封装对象方法的插件
这种插件类型是最常见的一种插件,它将对象方法封装起来,对通过选择器获取的jQuery对象进行操作。
2、封装全局函数的插件
这种插件将独立的函数加到jQuery命名空间之下。如解决冲突用的jQuery.noConflict()方法,常用的jQuery.ajax()和jQuery.trim()方法等。
3、选择器插件
虽然jQuery的选择器十分强大,但还是会需要扩充一些自己喜欢的选择器,如用color(red)来选择所有的红色字的元素
jQuery插件机制
jQuery提供了两个用于扩展jQuery功能的方法,即jQuery.fn.extend()和jQuery.extend()。前者用于扩展上文提到的第1种,后者用于扩展后两种。这两种方法都接收一个类型为Object的参数。Object对象的“键/值”对分别代表”函数或方法名/函数主体“。
另外,jQuery.extend()方法除了可以用于扩展jQuery对象以外,还可以用一个或多个其他对象来扩展一个对象,然后返回被扩展的对象。
语法:jQuery.extend(target,obj1,...[objN])
例:合并settings对象和options对象,修改并返回settings对象。
var settings={validate:false,limit:5,name:"foo"}; var options={validate:true,name:"bar"}; var newOptions=jQuery.extend(settings,options);
结果为:
newOptions={validate:true,limit:5,name:"bar"}
jQuery.extend()方法经常被用于经常用于设置插件方法的一系列默认参数,如下面代码所示:
function student(options){ options=jQuery.extend({ name:"xiaoming", age:18, sex:"boy" /*默认参数*/ },options); /*options为传递的参数*/ };
如果用户调用student方法的时候,在传递的参数options对象设置了相应的值,那么就使用设置的值,否则使用默认值:
student(name:"xiaohua",age:17,sex:"girl"); student(name:"xiaojun",age:16); student();
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。