当前位置: 代码迷 >> Web前端 >> jQuery 插件开发 札记
  详细解决方案

jQuery 插件开发 札记

热度:505   发布时间:2013-11-19 22:55:29.0
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);
  相关解决方案