jQuery插件开发的两种方法
jQuery添加插件主要有2种方法:
一、jquery.fn.extend(object) 为jQuery对象添加方法
jquery.fn 实际上就是jquery.prototype,如果从这个角度来看话,应该可以理解 jquery.fn.extend(object)实际上是对jquery.prototype进行扩展,就是为jQuery类添加“成员函数”,jquery实例对象可以直接使用该方法。这种方式添加的方法可以通过jquery实例进行调用,如:$(“.className”).foo();
二、jquery.extend(object) 为扩展jQuery本身添加方法,可以理解为给jquery类添加“静态方法”,通过这种方式添加的方法采用这种方式进行调用,$.foo();
另外,结合命名空间和闭包(自执行匿名函数)特性还可以进行扩展,为插件添加一些公有或私有的方法和属性,如
(function($){ //定义私有方法 function foo(){ //foo function } //以下定义的为jQuery全局方法,调用方式为 $.foo(); $.extend({ foo : function(){ //foo function } }); //以下方法调用方式为 $().myPlug.foo(); $.fn.extned({ myPlug : { foo : function(){ //foo function }, doo : function(){ // doo function } } }); }){jQuery};
引用资料:
http://learn.jquery.com/plugins/
http://www.iteye.com/topic/545971