我正在使用Twitter Bootstrap,我想使用在Bootstrap中不可用的“自动建议”,而jQuery UI有自己的自动建议方法。
我可以同时使用吗?它会使带宽超载吗?
我正在使用Twitter Bootstrap,我想使用在Bootstrap中不可用的“自动建议”,而jQuery UI有自己的自动建议方法。
我可以同时使用吗?它会使带宽超载吗?
Answers:
查看jquery-ui-bootstrap。从自述文件:
Twitter的Bootstrap是我在2011年发布的最喜欢的项目之一,但是定期使用它使我想要两件事:
与jQuery UI并肩使用的能力(使许多小部件在视觉上中断的功能)使用Bootstrap样式为jQuery UI小部件设置主题的功能。尽管我喜欢jQuery UI,但我(和其他人一样)发现一些当前主题看起来有些过时。我希望这个主题为其他感觉相同的人提供一个体面的选择。需要澄清的是,该项目并非旨在或无意取代Twitter Bootstrap。它仅提供受Bootstrap设计启发的jQuery UI兼容主题。它还提供了Bootstrap CSS版本,其中注释了几个(次要)部分,使主题可以与主题一起使用。
只是为了更新,bootstrap v2不再与jquery ui冲突
https://github.com/twbs/bootstrap/issues/171
编辑:作为@Freshblood,有些事情仍然存在冲突。但是,正如最初发布的那样,Twitter暗示他们正在努力进行此工作,并且与v1相比尤其有效。
button()
方法。
为了将来参考(因为这是Google的最佳回答ATM),为防止jQuery UI覆盖自举程序或您的自定义样式,您需要创建自定义下载并选择no-theme
主题。这将仅包括jQuery UI的重置,而不包括各种元素的重载引导程序样式。
在此过程中,某些jQuery UI组件(例如datepicker)具有本机引导程序实现。本机引导程序实现将使用引导程序CSS类,属性和布局,因此应与框架的其余部分更好地集成。
Bootstrap仍然无法与Jquery UI一起使用,例如modal.Bootstrap具有不错的风格,但是作为Twitter背后的框架并不是那么好。
如果遇到javascript名称空间冲突,则可以使用Bootstrap的noConflict()
功能使其成为jQuery UI的功能。
尽管此问题专门提到了jQuery-UI自动建议功能,但问题标题更为笼统:bootstrap 3是否可用于jQuery UI?我在使用jQUI datepicker(弹出日历)功能时遇到了麻烦。我解决了datepicker问题,希望该解决方案可以解决其他jQUI / BS问题。
今天,我很难获得最新的jQueryUI(1.12.1版)日期选择器以与Bootstrap 3.3.7一起使用。发生的事情是日历会显示但不会关闭。
原来是jQUI和BS的版本问题。我使用的是最新版本的Bootstrap,发现我不得不降级到这些版本的jQUI和jQuery:
jQueryUI-1.9.2 (已测试-有效)
jQuery-1.9.1或2.1.4 (已测试-均有效。其他版本也可以,但是这些均有效。)
Bootstrap 3.3.7 (已测试-正常)
因为我想使用自定义主题,所以我还构建了jQUI的自定义下载(删除了所有交互,对话框,进度条和一些我不使用的效果之类的东西),并确保选择“ Cupertino”在底部作为我的主题。
我这样安装它们:
<head>
...etc...
<link rel="stylesheet" href="css/font-awesome.min.css">
<link rel="stylesheet" href="css/cupertino/jquery-ui-1.9.2.custom.min.css">
<link rel="stylesheet" href="css/bootstrap-3.3.7.min.css">
<!-- <script src="js/jquery-1.9.1.min.js"></script> -->
<script src="js/jquery-2.1.4.min.js"></script>
<script src="js/jquery-ui-1.9.2.custom.min.js"></script>
<script src="js/bootstrap-3.3.7.min.js"></script>
...etc...
</head>
对于那些感兴趣的人,CSS文件夹如下所示:
[css]
- bootstrap-3.3.7.min.css
- font-awesome.min.css
- style.css
- [cupertino]
- jquery-ui-1.9.2.custom.min.css
[images]
- ui-bg_diagonals-thick_90_eeeeee_40x40.png
- ui-bg_glass_100_e4f1fb_1x400.png
- ui-bg_glass_50_3baae3_1x400.png
- ui-bg_glass_80_d7ebf9_1x400.png
- ui-bg_highlight-hard_100_f2f5f7_1x100.png
- etc (8 more files that were in the downloaded jQUI zip file)
是的,您可以同时使用两者。twitter的js bootstrap是jquery插件的集合。与jQuery UI不应有任何冲突。
关于带宽过载,这实际上取决于您如何处理加载所有js文件的请求。如果您真的不想向服务器发出多个请求以请求每个文件,只需将它们附加在一起并最小化即可。或者,您可能会摆脱一些不需要的js引导程序插件。它是非常模块化的。
!important
我发现自己经常不得不覆盖和修复,有时还要使用骇人的代码。我讨厌Bootstrap并不鼓励使用它,至少直到它停止与不使用Bootstrap类的元素混为一谈为止。(这不是原始设计师的错-我怀疑Twitter的原始开发人员期望他们正在努力成为一个受欢迎的图书馆。)
Kendo UI 在这里有一个不错的bootstrap主题,还有一组与jquery-UI相当的Web UI。他们还提供了一个与主题完美配合的开源版本。
因为这是Google在jquery ui和bootstrap.js上的最佳结果,所以我决定将其添加为社区Wiki。
我在用:
并且以某种方式,当我包含bootstrap.js时,它会禁用jQuery ui autocomplete的下拉列表。
我的三种解决方法: