在这种特殊情况下,一些popover功能需要适应我们的特殊需求。
更改本身是微不足道的,它是对该函数的修改。
我只需要添加另一个位置,但现在我不确定如何处理。
一种方法是在我的存储库中的bootstrap.js文件中添加一行,这很有效,但它的严重缺点是在更新时遇到问题,我现在可能还记得,但接下来的一行可能会生成一个难以修复的错误。
我想到的另一种方法是扩展函数,但引导程序的设置方式可能并不容易。据我所知,由于引导函数前面有一个加号(+function(){}
),它们会立即执行,所以我不会妨碍它。
我尝试过修改这个函数$.fn.tooltip.prototype.getCalculatedOffset
,但它确实正确地修改了它,但修改后的函数永远不会被调用,因为它只被调用过一次。
这可能是可能的,但我认为这件事的复杂性超过了修复的琐碎程度(除非我错过了一个更明显的方法)。
另一个想法是分叉引导,但我不确定这会实现什么,最终我又遇到了同样的问题。
最正常的方法是什么?最佳实践是什么?
与其他答案类似,但使用了pop-over函数,只需要捕获正确的函数!
$.fn.popover.Constructor.prototype.getCalculatedOffse
http://jsfiddle.net/59Er7/3/
在第1472:行中,将引用作为$.fn.tooltip.Constructor
保存到Tooltip
$.fn.tooltip.Constructor = Tooltip
修改$.fn.tooltip.Constructor.prototype.getCalculatedOffset
(当然不是在原始文件中,而是在代码中的某个位置)应该会影响在$.fn.tooltip
中"实例化"的原始Tooltip
。
我不知道这是否是最好的做法,但应该有效。
jsFiddle演示