`

jquery插件模板

 
阅读更多
// 创建一个闭包 
(function($) { 
  // 插件的定义 
  $.fn.hilight = function(options) { 
    debug(this); 
    // build main options before element iteration 
    var opts = $.extend({}, $.fn.hilight.defaults, options); 
    // iterate and reformat each matched element 
    return this.each(function() { 
      $this = $(this); 
      // build element specific options 
      var o = $.meta ? $.extend({}, opts, $this.data()) : opts; 
      // update element styles 
      $this.css({ 
        backgroundColor: o.background, 
        color: o.foreground 
      }); 
      var markup = $this.html(); 
      // call our format function 
      markup = $.fn.hilight.format(markup); 
      $this.html(markup); 
    }); 
  }; 
  // 私有函数:debugging 
  function debug($obj) { 
    if (window.console && window.console.log) 
      window.console.log('hilight selection count: ' + $obj.size()); 
  }; 
  // 定义暴露format函数 
  $.fn.hilight.format = function(txt) { 
    return '<strong>' + txt + '</strong>'; 
  }; 
  // 插件的defaults 
  $.fn.hilight.defaults = { 
    foreground: 'red', 
    background: 'yellow' 
  }; 
// 闭包结束 
})(jQuery);  


jQuery为开发插件提拱了两个方法,分别是:

jQuery.fn.extend(object);  给jQuery对象添加方法。
jQuery.extend(object);  为扩展jQuery类本身.为类添加新的方法。



jQuery.extend(object); 

为jQuery类添加添加类方法,可以理解为添加静态方法。如:

$.extend({ 

    add:function(a,b){return a+b;} 

}); 

便为 jQuery 添加一个为 add 的 “静态方法”,之后便可以在引入 jQuery 的地方,使用这个方法了,$.add(3,4); //return 7
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics