我如何使用两个不同版本的JQUERY库

时间:2013-11-14 12:57:08

标签: jquery

我在项目中使用外部Jquery插件。在插件中,他们使用的是jquery-1.3.2.js。对于我的功能,我使用库jquery / 1.10.2 / jquery.min.js。

问题是,如果我正在评论jquery-1.3.2,插件的某些功能无法正常工作。如果我有两个库Jquery on method不起作用。

// This will not work if we have both the libraries.

$(document.body).on('click', '.productWrap', function(){
    alert ("reaching here");
});

我不知道插件的哪些功能正在使用jQuery-1.3.2。

如何解决此问题,以便插件和方法都可以正常工作,而不会对代码进行任何重大更改。

2 个答案:

答案 0 :(得分:2)

是的,这是可能的;只需使用$.noConflict(true);

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

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

示例:

而不是

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

你会做的

jQuery_1_3_2('#selector').function();

jQuery_1_10_2('#selector').function();

答案 1 :(得分:1)

您可以使用jquery.noConflict - http://api.jquery.com/jQuery.noConflict/

执行此操作

包括您的1.3.2版本的jQuery。

然后包含1.10.2版本的jQuery。

然后呢,

var j = jQuery.noConflict();

此后,无论您在脚本中使用$,都必须使用j。 例如:$(“#id1”)=&gt; Ĵ( “#ID1”)