我可以同时使用Twitter Bootstrap和jQuery UI吗?
我正在使用Twitter Bootstrap,我想使用Bootstrap中没有的“自动build议”,而jQuery UI有自己的自动build议方法。
我可以同时使用吗? 它会超载的带宽?
看看jquery-ui-bootstrap 。 从自述文件:
Twitter的Bootstrap是我最喜欢的2011年的项目之一,但经常使用它,让我想要两件事情:
与jQuery UI并行工作的能力(导致大量小部件可视化的东西)能够使用Bootstrap样式主题化jQuery UI小部件。 虽然我喜欢jQuery UI,但我(像其他人)发现一些当前的主题看起来有些过时。 我希望这个主题能为其他人提供一个体面的select。 澄清一下,这个项目并没有瞄准或打算取代Twitter Bootstrap。 它只是提供了一个受Bootstrapdevise启发的兼容jQuery UI的主题。 它还提供了Bootstrap CSS的一个版本,其中有一些(较小的)部分被注释掉了,这些部分使主题能够一起工作。
只是为了更新这个,bootstrap v2不再与jQuery UI相冲突
https://github.com/twbs/bootstrap/issues/171
编辑 :作为@Freshblood有几件事情仍然有冲突。 不过,正如最初发布的Twitter表示,他们正在开发这个工具,并且在很大程度上起作用,特别是与v1相比。
为了将来的参考(因为这是谷歌的顶级答案ATM),为了防止jQuery UI覆盖bootstrap或你的自定义风格,你需要创build一个自定义下载并selectno-theme
主题。 这将只包括jQuery UI的重置,而不是过载bootstrap的各种元素的风格。
在我们看来,一些jQuery UI组件(如datepicker)具有本地引导实现。 本地引导实现将使用引导CSS类,属性和布局,所以应该有更好的整合与框架的其余部分。
在我有限的经验中,我也遇到了问题。 看来,JQuery元素(如button)可以使用引导CSS来设置样式。 不过,我遇到了创build一个JQuery UI选项卡的问题,并希望将引导唯一的input(使用input-append类)locking到每个选项卡的底部,只有第一个选项正确无误。 所以,JQuery选项卡+引导button=可能不是。
Bootstrap仍然不能使用Jquery UI,例如modal.Bootstrap具有很好的风格,但作为一个框架与Twitter后面是不是很好。
如果您正在运行JavaScript命名空间冲突,则可以使用Bootstrap的noConflict()
函数为jQuery UI创buildnoConflict()
function。
虽然这个问题特别提到了jQuery-UI自动build议function,但问题标题更为一般:bootstrap 3是否可以使用jQuery UI? 我在使用jqui datepicker(popup式日历)function时遇到了问题。 我解决了dateselect器的问题,并希望解决scheme将帮助其他jQUI / BS问题。
今天我很困难得到最新的jQueryUI(版本1.12.1)datepicker使用bootstrap 3.3.7。 发生的事情是日历会显示,但不会closures。
原来是jQUI和BS的版本问题。 我使用的是最新版本的Bootstrap,发现我必须降级到这些版本的jQUI和jQuery:
jQueryUI – 1.9.2 (testing – 作品)
jQuery – 1.9.1或2.1.4 (testing – 两个工作,其他的版本可能工作,但这些工作。)
Bootstrap 3.3.7 (testing – 作品)
因为我想使用自定义主题,我还构build了jqui的自定义下载(删除了一些像所有交互,对话框,进度条和一些我不使用的效果),并确保select“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)
如果不在本地存储,并使用它们提供的链接,则可能会提高性能。在某些情况下,客户端可能已经caching了脚本。 至于jQueryUI的情况下,我会build议不加载,直到必要的。 它们都被最小化,但是你可以启动控制台,看看networking标签,看看它加载需要多长时间,一旦它被初始化下载,它将被caching,所以你不应该担心事后。我的结论是是使用它们,但使用CDN
是的,你可以使用两个。 Twitter的js bootstrap是jquery插件的集合。 有没有shQuery与jQuery UI的冲突。
关于带宽过载,这实际上取决于你如何处理请求来加载所有的js文件。 如果你真的不想多次请求服务器请求每个文件,只需将它们附加在一起,并尽量减less。 或者你可能会摆脱一些你不需要的js bootstrap插件。 这是非常模块化的。
Kendo UI 在这里有一个很好的引导主题,并且有一组与jQuery UI相媲美的Web UI。 他们也有一个开放源代码版本 ,很好地与主题。
我有使用jQuery UI开发的网站,我只是试图插入bootstrap未来的发展和样式,但它几乎打破了一切。
所以不,他们不兼容。
因为这是对jquery ui和bootstrap.js上的谷歌最重要的结果,我决定把它添加为社区维基。
我在用:
- Bootstrap v3.2.0
- jQuery的2.1.0
- jQuery的UI-1.10.3
不知何故,当我包括bootstrap.js它禁用jquery ui自动完成的下拉菜单。
我的三个解决方法:
- 排除bootstrap.js
- 或更多来打开lib
- 从bootstrap.js移动到bootstrap.min.js(奇怪,但为我工作)
data-role =“none”是让他们一起工作的关键。 你可以应用到你想引导的元素来触摸,但jQuery的移动忽略。 like this input type =“text”class =“form-control”placeholder =“Search” data-role =“none”