Bootstrap:'TypeError undefined is not a function'/'has no method 'tab'' when using bootstrap-tabs

Posted

技术标签:

【中文标题】Bootstrap:\'TypeError undefined is not a function\'/\'has no method \'tab\'\' when using bootstrap-tabs【英文标题】:Bootstrap: 'TypeError undefined is not a function'/'has no method 'tab'' when using bootstrap-tabsBootstrap:'TypeError undefined is not a function'/'has no method 'tab'' when using bootstrap-tabs 【发布时间】:2012-03-02 21:36:18 【问题描述】:

我现在正在构建一个小站点,并想使用 Initialzr 的一些 Bootstrap 部分,特别是选项卡。我目前尝试使用 Bootstrap 项目 (http://twitter.github.com/bootstrap/javascript.html#tabs) 提供的示例代码和一些调整,但在加载时得到“未定义不是函数”。

JS 文件以正确的顺序预加载(jQuery、libs/bootstrap/*、我的 script.js 文件/混合在 html 中的脚本),标准 jQuery 命令(隐藏等)都可以正常工作,所以它不会似乎与 noConflict() 选项有关。

我还需要检查什么?

【问题讨论】:

你使用的是什么版本的 Rails? 您尝试使用哪个版本的引导程序? @periklis: 使用 Initializr 的 2.0 要记住的另一件事:弹出框需要工具提示插件作为依赖项。所以先包含它。 【参考方案1】:

我实际上设法弄清楚我做错了什么(这是我的错)。

我习惯使用 pre-jQuery Rails,所以当我包含 Bootstrap JS 文件时,我不认为包含与它们捆绑在一起的 jQuery 版本会导致任何问题,但是当我删除那个 JS 文件时,一切开始完美工作。

吸取教训,三重检查加载了哪些JS文件,看看有没有冲突。

【讨论】:

同上,我们遇到了类似的问题,结果发现包含了一个旧的 JS 文件。 如果错误更具描述性会有所帮助,但我想这就是 SO 的用途:) 从 jQuery 1.6.2 升级到 jQuery 1.7.2 为我排序。【参考方案2】:

确保您使用最新的 jquery,并且问题已解决

我在这段代码中遇到了这个问题:

<script src="/scripts/plugins/jquery/jquery-1.6.2.min.js"> </script>
<script src="/scripts/plugins/bootstrap/js/bootstrap.js"></script>

改成这样后:

<script src="/scripts/plugins/jquery/jquery-1.7.2.min.js"> </script>
<script src="/scripts/plugins/bootstrap/js/bootstrap.js"></script>

效果很好

【讨论】:

有没有办法在 jQuery 1.6.2 中使用 Bootstrap 插件?我们在我们的项目中使用了很多 jQuery,升级到 1.7.2 会破坏一些东西,所以我们不希望在下一个版本之前升级它。但是,我们希望在我们的应用程序中包含一些插件(Typeahead 和 Tooltips)。有没有办法将它们与 jQuery 1.6.2 一起使用。知道是否有人创建了适用于旧版本 jQuery 的等效项。【参考方案3】:

可能是 Bootstrap 经常使用的“on”事件的使用,它是在 jQuery 1.7 中插入的 http://api.jquery.com/on/

【讨论】:

【参考方案4】:

如果您在jquery.js 之前包含bootstrap.js,也可能会导致这种情况。

其他人可能有同样的问题。

bootstrap 之前包含jQuery

【讨论】:

不适合我//= require lib/jquery-2.1.0.min //= require lib/bootstrap.min【参考方案5】:

我们可以尝试使用最新的 jQuery 库。我遇到了同样的问题。我之前使用过 jQuery-1.4.2.min 并收到错误消息。之后我使用了 1.9.1 版本,它可以工作。谢谢

【讨论】:

以上是关于Bootstrap:'TypeError undefined is not a function'/'has no method 'tab'' when using bootstrap-tabs的主要内容,如果未能解决你的问题,请参考以下文章

html Eine auf Bootstrap und jQuery basierende InputDropdown,die mit Daten in einem bestimmten Format

未捕获的TypeError:$(...)。find(...)。once不是bootstrap / js / bootstrap.js中的函数?

将 Bootstrap 与 VueJS 一起使用时未捕获的 TypeError

未捕获的 TypeError: $(...).tooltip 不是 Laravel 应用程序中的函数(Bootstrap 4 预设)

Bootstrap Uncaught TypeError: $(...).modal 不是函数

Bootstrap报错“Uncaught TypeError: $(...).modal is not a function“