【问题标题】:How to maintain noConflict and include 2 versions of jQuery in Bootstrap 3.2如何在 Bootstrap 3.2 中维护 noConflict 并包含 2 个版本的 jQuery
【发布时间】:2014-09-30 08:15:27
【问题描述】:

我正在修改一个使用 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 很有用。

【问题讨论】:

    标签: javascript jquery twitter-bootstrap-3


    【解决方案1】:

    据我了解,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 变量来触发 jQuery 函数和 TB jQuery 的 $(美元)符号。

    【讨论】:

    • 如何让 Flexigrid 使用 jQuery_flexgrid
    • 您是手动添加 flexigrid 吗?换句话说,你有没有触发任何 flexigrid 函数?
    • 我用$("#my_div").flexigrid()
    • 您可以使用 $jQuery_flexgrid 变量代替美元($)。 $jQuery_flexgrid("#my_div").flexigrid() 会起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-27
    • 2011-11-09
    • 2011-11-26
    • 1970-01-01
    相关资源
    最近更新 更多