我正在尝试使用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
答案 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我认为这是一个很好的约定。 参考: