1

我正在尝试使用 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 和 requirejs。无法使用引导程序的功能

如果这有什么不同,我正在使用 django

4

2 回答 2

1

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

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

RequireJS 将等待根据引导程序执行任何代码,直到设置了 $.fn.tab。

于 2013-10-25T03:11:28.147 回答
0

好的。U 应该使用 jquery 无冲突函数来避免使用相同 $ 符号的其他库。

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

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

于 2013-10-25T02:20:19.837 回答