jQuery 插件开发

JQuery 插件开发:

  1. 类级别开发,开发新的全局函数

  2. 对象级别开发,给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);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章