我在项目中使用外部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。
如何解决此问题,以便插件和方法都可以正常工作,而不会对代码进行任何重大更改。
答案 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”)