jQuery与Active Reports中的冲突

时间:2015-07-27 11:11:16

标签: jquery asp.net-mvc

目前我在我的项目中使用jQuery 1.10.2。在一个页面上,我需要使用Active Report 9显示报告。

问题是它正在加载jQuery 1.7.2。我尝试使用var jq17= $.noConflict(true);解决冲突,将别名从$更改为jq17

现在是否有必要更改使用Active Report 9加载的所有.jq库中的别名,以使用jq17作为新别名?或者在没有更改库的情况下还有其他方法可以继续。

更新:我已经尝试过@Andreas的答案。它解决了别名问题。但是,无法通过此方式访问Active Report的某些功能。

1 个答案:

答案 0 :(得分:1)

加载1.7.2版本并在加载版本1.10.2之前调用.noConflict(true)(反之亦然,如果这样更容易),将1.7.2相关代码包装在匿名函数中并传递给它noConflict版本将其别名为$

<script type="text/javascript" src="jquery-1.7.2.js"></script>
<script>
    var jq172 = $.noConflict(true);
</script>
<script type="text/javascript" src="jquery-1.10.2.js"></script>
<script>
    (function($) {
        console.log($.fn.jquery);  // -> 1.7.2
    }(jq172));

    console.log($.fn.jquery);  // -> 1.10.2
</script>