jQuery.noConflict
将重置$
变量,使其不再是jQuery
. 除了只调用一次之外,您真正需要做的其他事情并不多。不过,如果您愿意,您可以使用返回值创建自己的别名:
var jq = jQuery.noConflict();
而且,通常,您希望在包含 jQuery 和任何插件后立即执行此操作:
<script type="text/javascript" src="/path/to/jquery.js"></script>
<script type="text/javascript" src="/path/to/jquery-plugin.js"></script>
<script type="text/javascript">
jQuery.noConflict();
// Code that uses other library's $ can follow here.
</script>
<script type="text/javascript" src="/path/to/prototype.js"></script>
您还可以更进一步,jQuery
使用noConflict(true)
. 但是,如果你走这条路,你肯定会想要一个别名,因为这既不是你想要的,$
也jQuery
可能不是你想要的:
var jq = jQuery.noConflict(true);
我认为最后一个选项主要用于混合 jQuery 版本,特别是当您想要更新 jQuery 本身时,对于过时的插件:
<script type="text/javascript" src="jquery-1.4.4.js"></script>
<script type="text/javascript" src="jquery-older-plugin.js"></script>
<script type="text/javascript">
var jq144 = jQuery.noConflict(true);
</script>
<script type="text/javascript" src="jquery-1.6.4.js"></script>
<script type="text/javascript" src="jquery-newer-plugin.js"></script>