// 插件的定义

来源:互联网 发布:淘宝天猫积分怎么获得 编辑:程序博客网 时间:2024/06/04 18:33
实时监听文本框变化:

$('#username').bind('input propertychange', function() {
    $('#content').html($(this).val().length + ' characters');
});

// 创建一个闭包  
(function($) {  
  // 插件的定义
  //采用全局对象window来暴露接口
  window.tool=window.tool || {}
  window.tool.hilight=function(){
           //逻辑处理代码
   }
  //采用jquery暴露 hilight接口
  $.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);   

0 0