jQuery 插件开发 笔记

JQuery 插件开发: 

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

一、类级别开发 -定义全局方法

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

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

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

二、对象级别开发 -定义jQuery对象方法  

(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);  
原文地址:https://www.cnblogs.com/DajiangDev/p/3384593.html