1

如何在引导核心文件之外添加以下修补程序?

这个问题之前已经发布过,并且热修复确实像一个魅力。但它需要编辑核心文件。在这里

在 Tooltip.prototype.show 函数中:

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

在下面添加 add-class 就像一个魅力:

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

因此,现在每当您添加data-class到 popover 调用时,它都会将属性添加到<div class="popover">div。

不利的一面是您必须编辑核心文件才能实现此目的。我只是稍微精通 jQuery,这让我绞尽脑汁,但我认为必须有一种方法可以将 .addClass() 作为工具提示原型的扩展。也许使用 .extend()?

4

1 回答 1

0
    !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);
于 2015-02-11T03:38:59.513 回答