jQuery 插件开发 笔记

JQuery插件开发:

类级别开发,开发新的全局函数对象级别开发,给Jquery对象开发新方法

一、类级别开发

定义全局方法

         
jQuery.foo = function() {
    alert('This is a test.');
};

采用命名空间,可以避免命名空间内函数的冲突。

   
jQuery.apollo={
    fun1:function(){
        console.log('fun1');
    },
    fun2:function(){
        console.log('fun2');
    }
}

二、对象级别开发

定义插件

  
(function($) {   
$.fn.pluginName = function() { 
                                                                             
}; 
})(jQuery);
//插件通过这样被调用:
$('#myDiv').pluginName();

接受options参数以控制插件的行为

   
(function($){
    $.fn.fun2=function(option){
        var defaultOption={
            param1:'param1',
            param2:'param2'
        }
        $.extend(defaultOption,option);
        console.log(defaultOption);
    }
})(jQuery);
$(function(){
    //通过这样调用
    $("body").fun2({
        param1:'new Param1'
    });
});

保持私有函数的私有性

  
(function($) {  
  // plugin definition  
  $.fn.hilight = function(options) {  
    debug(this);  
    // ...  
  };  
  // private function for debugging
  //“debug”方法不能从外部闭包进入,因此对于我们的实现是私有的。
  function debug($obj) {  
    if (window.console && window.console.log)  
      window.console.log('hilight selection count: ' + $obj.size());  
  };  
//  ...  
})(jQuery);

相关推荐