如何使用动态类data-attr扩展Bootstrap 3 popover/tooltip?

问题描述:

如何在bootstrap核心文件之外添加以下修复程序?如何使用动态类data-attr扩展Bootstrap 3 popover/tooltip?

此问题已在之前发布,而且此修补程序确实可以像魅力一样工作。但它需要编辑核心文件。 here

在Tooltip.prototype.show功能:

$tip 
    .detach() 
    .css({ top: 0, left: 0, display: 'block' }) 
    .addClass(placement) 

添加下面的作品加载类喜欢一个魅力:

.addClass(this.$element.attr("data-class")) 

所以,现在只要添加data-class到酥料饼的调用,它将该属性添加到<div class="popover"> div。

不利的一面是你必须编辑核心文件来实现这一点。我只是稍微精通了jQuery,这让我的大脑发抖,但我认为必须有一种方法来解决.addClass()作为Tooltip Prototype的扩展。也许使用.extend()?

!function($){ 
     $.extend($.fn.tooltip.Constructor.DEFAULTS,{ 
      dataClass: false 
     }); 
     var Tooltip = $.fn.tooltip.Constructor; 
      _show = Tooltip.prototype.show; 

     Tooltip.prototype.show = function(){ 
      _show.apply(this,Array.prototype.slice.apply(arguments)); 

      if (this.options.dataClass!=="undefined" && this.options.dataClass){ 
       var that = this; 
       var $tip = this.tip(); 
       if (this.$element.attr("data-class") !== undefined) 
        $tip.addClass(this.$element.attr("data-class")); 
      } 
     }; 
    }(jQuery); 
+0

- 在部署工具提示功能时添加“dataClass”。 –

+0

- 在元素上创建数据类属性 –