我正在将我们的旧版应用程序之一的旧设计更改为使用bootstrap和angularjs。
之前我们在很大程度上依赖于jquery和jquery-ui,所以当我包含bootstrap并使用它在我的页面中启用弹出窗口时,代码与jquery-ui冲突(不知何故)。
启用bootstrap noConflict,我做了:
var bsPopover = $.fn.popover.noConflict();
$.fn.bspopover = bsPopover;
并调用我的所有弹出代码:
$('#notify-tasks').bspopover({...});
此调用现在可以正常工作,它不再与jquery-ui冲突,但是,我在浏览器控制台中收到此错误:
Uncaught TypeError: undefined is not a function
这里是代码失败的地方:
Tooltip.prototype.toggle = function (e) {
var self = e ? $(e.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type) : this
运行这行代码中的变量,我发现:
this.type = "popover"
并且因为$(e.currentTarget)[this.type]真正想要做的是调用$(element)[" popover"],它显然会失败,因为popover现在被定义为bspopover
在为Bootstrap启用noConflict时我是否错过了什么?