如何维护noConflict并在Bootstrap 3.2中包含2个版本的jQuery

时间:2014-09-30 08:15:27

标签: javascript jquery twitter-bootstrap-3

我正在修改使用Flexigrid和Bootstrap 3.2的旧项目的UI。 Flexigrid依赖于jQuery 1.4.1,Bootstrap 3需要jQuery 1.9.0或更高版本。

我尝试将旧版本的jQuery与Bootstrap一起使用,但它破坏了;同样我尝试使用Flexigrid的新版本..它破了。

我想知道我是否可以包含这两个版本并强制Bootstrap以某种方式使用jQuery.noConflict?

修改
由于我们有很多依赖于jQuery 1.4.1的js代码,所以我这样做了:
按以下顺序将两个版本的jQuery添加到页面(1.4.1和1.9.1):

<script src="/js/jquery-1.9.1.js"></script>
<script src="/js/bootstrap.js"></script>

<script>
    var $jQuery1_9 = jQuery.noConflict(true);
</script>

<script src="/js/jquery-1.4.1.js"></script>
<!-- Include other js files here -->

现在,一切正常(到目前为止!)。您可能还会发现this post有用。

1 个答案:

答案 0 :(得分:3)

据我所知,TB jQuery已经包含在内,您需要以其他方式为flexigrid库提供参考。

<!-- load jQuery Flexigrid library -->
<script type="text/javascript" src="//path to flexigrid library"></script>
<script type="text/javascript">
    var $jQuery_flexgrid = $.noConflict(true);
</script>

然后你可以使用jQuery_flexgrid变量为TB jQuery触发jQuery函数和$(美元)符号。