在使用RequireJS的上下文中,Jquery工具提示与Bootstrap冲突

时间:2017-01-23 09:59:45

标签: jquery twitter-bootstrap jquery-ui

参考文献here:这是一个众所周知的问题 Jquery和Bootstrap对tooltip()

有命名冲突

许多人建议的解决方案是在加载Bootstrap之前使用$.widget.bridge。但就我而言,我不知道如何使用requireJS样式实现它:

我的脚本导入如下所示:

define(['jquery', 'jquery-ui', 'knockout', 'bootsrap'],

1 个答案:

答案 0 :(得分:0)

嗯,这是一个没有答案的老问题。由于我在遇到同样问题时偶然发现了它,因此我是这样解决的:

require.config({
  shim: {
    'bootstrap': {
      deps: ['jquery', 'jquery-ui'],
      callback: function($) {
        $.widget.bridge('uitooltip', $.ui.tooltip);
      }
    }
  }
});

这会强制 requireJS 在加载引导程序之前加载 jQuery UI 并实现桥接。

这可能被认为是一种肮脏的解决方法。但是,由于这段代码片段配置了不同依赖项的加载方式并解决了两个依赖项之间的冲突,因此我认为这是该行代码存在的好地方。