具有不同jQuery版本的插件

时间:2014-04-02 07:52:29

标签: javascript jquery

在当前的实现中有旧版本的jquery(1.7.x),旧的插件依赖于这个版本的jquery。

现在我想添加新的jQuery插件,它需要最新的jquery verson,但不能删除旧版本的jquery,因为会有很多变化。

我们可以在没有冲突的情况下为新插件使用不同的jquery versoin吗?

我正在尝试以下解决方案,但无效。

<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
$(document).ready(function () {
$("#element").flexModal();
});
<script type="text/javascript" src="jquery-1.8.3.min.js"></script>  
<script type="text/javascript">
 var jQuery_1_8 = $.noConflict(true);
 jQuery_1_8(document).ready(function () {
 jQuery_1_8("#element2").flexModalLatest();
});
</script> 

插件名称仅适用于此代码演示。

3 个答案:

答案 0 :(得分:1)

或者你可以使用新的jQuery(1.11及更高版本)和官方的jQuery迁移插件来支持已弃用/删除的函数。

http://jquery.com/download/#jquery-migrate-plugin

答案 1 :(得分:0)

试试这个:

<!-- load jQuery 1.7.2 -->
<script type="text/javascript" src="http://example.com/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
var jQuery_1_7_2 = $.noConflict(true);
</script>

<!-- load jQuery 1.8.3 -->
<script type="text/javascript" src="http://example.com/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
var jQuery_1.8.3 = $.noConflict(true);
</script>

而不是

 $('#selector')....;

你做

jQuery_1_7_2('#selector')....; 

jQuery_1_8_3('#selector')....;

答案 2 :(得分:0)

https://api.jquery.com/jQuery.noConflict/

阅读完文档之后,我认为你在加载第二个jquery版本后,它是在前面使用它,使用var jQuery_1.7.2 = $.noConflict()来引用原来的旧版本。