如何处理两个独立的jQuery库?我需要它们两个,但两个结果都会产生冲突,只有一个功能可以使用。
答案 0 :(得分:7)
这取决于。实际上,您可以同时在页面中同时激活它们,但只有其中一个可以包含$
符号,并且其中只有一个可以包含jQuery
符号。但从技术上讲,你可以在一个页面上有多个:
<script src="jquery-1.5.2.js"></script>
<script>var $j15 = jQuery.noConflict(true);</script>
<script src="jquery-1.7.1.js"></script>
<script>
// Here, $ = jQuery = jQuery 1.7.1
// $j15 = jQuery 1.5.2
</script>
请注意,即使在该环境中,经过良好创作的jQuery插件也能正常工作,例如:
<script src="jquery-1.5.2.js"></script>
<script src="plugin-requiring-1.5.2.js"></script>
<script>var $j15 = jQuery.noConflict(true);</script>
<script src="jquery-1.7.1.js"></script>
<script>
// Here, $ = jQuery = jQuery 1.7.1
// $j15 = jQuery 1.5.2
$j15("selector").pluginRequiring152(...);
</script>
...因为一个写得很好的插件看起来像这样:
(function($) {
$.fn.pluginRequiring152 = ...;
})(jQuery);
...所以在你包含它的时候会使用jQuery
的任何内容,如果你之后关闭了noConflict(true)
,就不会破坏。
这是个好主意吗?几乎肯定不是。最好解决任何问题,使您需要多个版本的jQuery,并且只包含您测试过的最新版本。