bootstrap中 $.fn.Aa.Constructor = Aa

在bootstrap js源码中,在插件最后经常看到

$.fn.Aa.Constructor = Aa

这样一句。

这里注意,Constructor 是大写的C,而不是我们常写的那个constructor。

这句的作用,是将插件类暴露给外界,这样可以修改和添加类里面的方法了。

如下面语句,初始化tooltip后,给Tooltip新增test方法。

$.fn.tooltip.Constructor.prototype.test = function(){
        console.log('test')
    }
    $('#example').tooltip('test')

在调用插件后,在控制台会输出test字符串。

再举一个栗子:

var tmp = $.fn.tooltip.Constructor.prototype.show;
$.fn.tooltip.Constructor.prototype.show = function () {
  tmp.call(this);
  if (this.options.callback) {
    this.options.callback();
  }
}

$('#selector').tooltip({ 
  placement: 'top', 
  callback: function() { 
    alert('hello') 
  } 
});

给show方法新增一个callback回调。

发表评论

电子邮件地址不会被公开。 必填项已用*标注