Bootstrap单选按钮切换问题

Posted

技术标签:

【中文标题】Bootstrap单选按钮切换问题【英文标题】:Bootstrap radio-buttons toggle issue 【发布时间】:2012-10-25 11:50:56 【问题描述】:

我正在尝试以 twitter 引导方式 (http://twitter.github.com/bootstrap/javascript.html#buttons) 将单选按钮中的一些常规按钮打开。

我按照说明进行操作,但是当我按下按钮时,控制台中出现以下错误:

未捕获的错误:无法在初始化之前调用按钮上的方法;试图调用方法“切换”

你知道是什么原因造成的吗?按钮在页面中加载,并且只有在通过 AJAX 显示相应内容时才可见。

谢谢!

【问题讨论】:

可能是转储问题,但您是否已加载 bootstrap-button.jsbootstrap.js bootstrap.js 已加载。我的页面上有模态框,它们 100% 的时间都能完美运行。单选按钮的工作时间为 5%。 您说按钮仅在加载相关内容(来自AJAX)时才显示对吗?我不确定您是否可以在仍然隐藏时初始化按钮 你能把你的代码放在jsFiddle吗? 我也有同样的问题,但下面的解决方案对我不起作用。 Bootstrap v3.1.0 和 jQueryUI v1.10.3 【参考方案1】:

我遇到了同样的问题,这让我发疯了!!!!

直到我发现我在jqueryui之前加载了bootstrap...

我切换了顺序并注意到如果我在引导之前加载 jqueryui,我就没有这样的问题:)

【讨论】:

Bootstrap 有 jQuery UI 的修改版本,加载 jQuery UI 会出问题。 要在 bootstrap.js 之前加载 jQuery UI,只需将 放在 之前如果你在 requirejs 下运行它,添加一个 shim : shim: "bootstrap": "deps": [ "jquery-ui", "jquery" ] , "jquery-ui": "deps": [ " jQuery" ] 谢谢亚历山大,这解决了我的问题。我正在使用 Meteor,所以我不得不删除 jquery 和 jquery-ui,并将它们放在我的客户端文件夹中。 我遇到了同样的问题,但这个解决方案对我不起作用。 Bootstrap v3.1.0 和 jQueryUI v1.10.3 jqueryui.com/download 仅包含我需要的自定义捆绑包,对我有用。【参考方案2】:

这个问题是由于 jquery-ui 阻止了从引导程序初始化按钮定义的用户,例如在 Yii 中使用 CJUiAutocomplete 小部件时,像我这样在转换 javascript 文件调用顺序时遇到问题的用户,只需将button.js对应的javascript从bootstrap文件转移到主工作文件即可顺利运行。

或者将相应的 js 放在一个单独的文件中,该文件在您的 javascript 文件堆栈的底部调用。

【讨论】:

【参考方案3】:

交换 Bootstrap 和 jQueryUI 的加载顺序可以解决这个问题,但会导致其他问题,例如 jQueryUI 对话框上的 Close X 无法显示。有没有其他方法可以解决这个问题?

【讨论】:

以上是关于Bootstrap单选按钮切换问题的主要内容,如果未能解决你的问题,请参考以下文章

在 AngularJS + Bootstrap 中添加数据切换属性时,单选按钮绑定不起作用

使用 Twitter Bootstrap 切换单选按钮,获取表单输入的简洁方式是啥?

获取值数据切换单选按钮[重复]

单选按钮每次返回 0 布尔值 Laravel 8 Bootstrap

Bootstrap 单选内联换行和堆叠单选按钮

Bootstrap - 垂直单选按钮未对齐