jquery扩展方法

来源:互联网 发布:微信h5软件 编辑:程序博客网 时间:2024/06/06 00:32

(转载)http://blog.csdn.net/itmyhome1990/article/details/13021905

jquery插件的开发包括两种:一种是类级别的插件开发,即给jquery添加新的全局函数,相当于给jquery类本身添加方法。

jQuery的全局函数就是属于jquery命名空间的函数,另一种是对象级别的插件开发,即给jQuery对象添加方法。

也可以理解为另外两种方式,一种是jQuery本身的扩展方法,另一种是jQuery所选对象的扩展方法。

1.jQuery.extend(Object);   // jQuery 本身的扩展方法 

2.jQuery.fn.extent(Object);    // jQuery 所选对象扩展方法

下面就两种函数的开发做详细的说明。


1、类级别的插件开发

类级别的插件开发最直接的理解就是给jQuery类添加类方法,

可以理解为添加静态方法。典型的例子就是$.AJAX()这个函数,将函数定义于jQuery的命名空间中。

关于类级别的插件开发可以采用如下几种形式进行扩展:

1.1 添加一个新的全局函数

[javascript] view plain copy
  1. $.foo = function(){  
  2.             alert("foo");  
  3.         }  
  4.         //调用方法   
  5.         $.foo();  
1.2 使用jQuery.extend(object);
[javascript] view plain copy
  1. $.extend({  
  2.             foo:function(){  
  3.                 alert("foo");  
  4.             },  
  5.             bar:function(){  
  6.                 alert("bar");  
  7.             }  
  8.         })  
  9.         //调用方法   
  10.         $.foo();  
  11.         $.bar();  
1.3 使用命名空间
[javascript] view plain copy
  1. $.myPlugin = {  
  2.             foo:function(){  
  3.                 alert("foo");  
  4.             },  
  5.             bar:function(){  
  6.                 alert("bar");  
  7.             }  
  8.         }  
  9.         //调用方法  
  10.         $.myPlugin.foo();  
  11.         $.myPlugin.bar();   

2、对象级别的插件开发

[javascript] view plain copy
  1. $.fn.foo = function(){  
  2.             alert("hello jquery");  
  3.         }  
  4.         $('#myF').foo()  
[javascript] view plain copy
  1. (function($){     
  2.             $.fn.extend({     
  3.                 pluginName:function(opt,callback){     
  4.                     alert("foo");     
  5.                 }     
  6.             })     
  7.         })(jQuery);    
  8.         $("#myF").pluginName();  
[javascript] view plain copy
  1. (function (jq) {   
  2.             jq.fn.foo = function (obj) {   
  3.                 alert(obj);  
  4.             };   
  5.         })(jQuery)   
  6.         $("#myF").foo("hello jquery");  


//---------------------------------------------------------------------------------使用类级别的增加方法------------------

<!DOCTYPE html><html><head><script src="/jquery/jquery-1.11.1.min.js"></script><script>// 1添加一个新的全局函数$.foo = function() {    alert("coding");}// 2使用jQuery.extend(object);$.extend({   foo1:function() {      alert("love coding");   }})// 3使用命名空间$.myPlugin = {   plu:function() {      alert("xxxxxxxxxxxxxxxxx");   }}$(document).ready(function(){  $("#p").click(function(){    $.foo(); //  写法简单    $.foo1(); // 写法简单    $.myPlugin.plu(); // 写法相对有点麻烦  });});</script></head><body><p id="p"> coding</p></body></html>



0 0