哪个库覆盖$?

时间:2013-10-25 02:00:23

标签: jquery django requirejs twitter-bootstrap-3

我正在尝试使用jquery / bootstrap /和requirejs

加载js文件工作得很好,我检查了bootstrap设置$ .fn.tab = someFunction;

然后,在requirejs的回调函数中,调用$(foo).tab('show')会导致错误,表明该选项卡不可用于该对象。

Uncaught TypeError: Object [object Object] has no method 'tab'

一切都很好,我通过打印日志证实了这一点 但我想$是重新定义的东西 我应该从哪里开始看? grep '$\s*='

我的代码相当长,我发布了一个不同的问题:jquery, bootstrap 3.0, and requirejs. can't use bootstrap's functions

如果有任何不同,我正在使用django

2 个答案:

答案 0 :(得分:1)

问题很可能是在您尝试使用它时,引导程序尚未完成加载。尝试将requirejs配置中的bootstrap垫片更改为:

shim: {
  "bootstrap": {
    deps: ["jquery"],
    exports: "$.fn.tab"
  }
}

RequireJS将等待执行任何代码,具体取决于bootstrap,直到设置$ .fn.tab为止。

答案 1 :(得分:0)

确定。你应该使用jquery no conflict函数来避免使用相同$符号的其他库。

$.noConflict();
jQuery( document ).ready(function( $ ) {
     // Code that uses jQuery's $ can follow here.
});

现在有很多框架使用$如prototypejs我认为这是一个很好的约定。 参考: