修改项目的twitter bootstrap javascript时的最佳做法是什么

时间:2014-04-23 14:12:28

标签: javascript jquery twitter-bootstrap twitter-bootstrap-3

在这种特殊情况下,一些弹出功能需要根据我们的特定需求进行调整。

变化本身非常简单,it's a modification to this function

我只需要添加另一个展示位置,但现在我不确定如何处理此问题。

一种方法是在我的存储库中的bootstrap.js文件中添加一行,这样做有一个严重的缺点,就是在更新时遇到麻烦,我现在可能还记得,但下一个跟在我后面可能会产生困难要修复的错误。

我想到的另一种方法是扩展功能,但是设置bootstrap的方式可能并不容易。据我所知,因为bootstrap函数前面有一个加号(+function(){}),所以它们会立即执行,所以我不能妨碍它。

我已经尝试修改此函数$.fn.tooltip.prototype.getCalculatedOffset但是虽然它确实正确地修改了它,但是修改后的函数永远不会被调用,因为它只被调用一次。

这可能是可能的,但我认为这样做的复杂性超过了解决方案的微不足道(除非我错过了一个更明显的方法)。

另一个想法是分叉引导,但我不确定会有什么结果,最后我回到了同样的问题。

最常见的方法是什么?什么是最佳实践?

2 个答案:

答案 0 :(得分:3)

引用在line 1472中保存为Tooltip $.fn.tooltip.Constructor

$.fn.tooltip.Constructor = Tooltip

修改$.fn.tooltip.Constructor.prototype.getCalculatedOffset(当然不在原始文件中,但在代码中的某个位置)会影响"instantiated"$.fn.tooltip的原始Tooltip

我不知道这是否是最佳做法,但应该有效。

jsFiddle Demo

答案 1 :(得分:3)

与其他答案类似,但使用弹出功能,只需抓住正确的功能!

$.fn.popover.Constructor.prototype.getCalculatedOffse

http://jsfiddle.net/59Er7/3/