一、JQuery插件的种类:
1.对象级别的插件,即给jQuery对象添加方法,封装对象方法的插件,如:parent()、appendTo()。
2.一种是类级别的插件,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法,jQuery的全局函数就是属于jQuery命名空间的函数,封装全局函数的插件。
3.选择器插件。
二、JQuery自定义插件主要有两个方法:
这两个方法都接受一个参数,类型为Object,Object对应的"名/值对"分别代表"函数或方法体/函数主体"。
1. 给JQuery类添加新方法
1. ;(function($){
2. $.fn.extend({
3. "函数名":function(自定义参数){
4. //这里写插件所需要的代码
5. }
6. });
7. })(jQuery);
8. 或者
9. ;(function($){
10. $.fn.函数名=function(自定义参数){
11. //这里写插件所需要的代码
12. }
13. })(jQuery);
使用以下方式调用添加的新方法:$("#id").函数名(参数);
2. 相当于添加静态方法
1. ;(function($){
2. $.extend({
3. "函数名":function(自定义参数){
4. //这里写插件代码
5. }
6. });
7. })(jQuery);
8. 或者
9. ;(function($){
10. $.函数名=function(自定义参数){
11. //这里写插件代码
12. }
13. })(jQuery);
使用以下方式调用添加的新方法:$.函数名(参数);
三、案例:新增两个函数,用于去除左右两边的空格
首先构建一个Object对象,把函数名和函数都放进去,其中的名/值对分别为函数名和函数主体
然后利用jQuery.extend()方法直接对jQuery对象进行扩展
1. <span style="font-size:12px;">;(function($){
2. $.extend({
3. ltrim:function(text){
4. return (text||"").replace(/^\s+g,"");
5. },
6. rtrim:function(text){
7. return (text||"").replace(/\s+$/g,"");
8. }
9. });
10. })(jQuery);
11. 或者
12. ;(function($){
13. $.ltrim=function(text){
14. return (text||"").replace(/^\s+g,"");
15. },
16. $.rtrim=function(text){
17. return (text||"").replace(/\s+$/g,"");
18. }
19.
20. })(jQuery);</span>
(text||"")部分是用于防止传递进来的text这个字符串变量处于未定义的特殊状态,如果text是undeined,则返回字符串"",否则返回字符串text。这个处理是为了保证接下来的字符串替换方法replace()方法不会出错, 运用了正则表达式替换首末的空格。
调用函数如下:
1. <span style="font-size:12px;">$("trimTest").val(
2. jQuery.trim(" test ")+"\n"+
3. jQuery.ltrim(" test ")+"\n"+
4. jQuery.rtrim(" test ")
5. );</span>
运行代码后,文本框中第一行字符串左右两侧的空格都被删除。
(教程为厦门触控未来学员制作,未经允许禁止转载)