如何实现JQuery.noConflict()?
我在同一HTML页面上同时使用了javascript和jquery代码。由于某种原因,jQuery库正在阻止我的本机javascript代码正常工作。
我找到了此页面:jQuery No Conflict,它表明您可以使用jquery.noConflict将$释放回javascript。但是,我不确定该怎么做?
具体来说,我不确定如何正确执行此操作?Jquery代码在哪里,JS代码在哪里?
我的代码如下:
<script type="text/javascript"> $.noConflict();
// Code that uses other library's $ can follow here.
</script>
回答:
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>
以上是 如何实现JQuery.noConflict()? 的全部内容, 来源链接: utcz.com/qa/404640.html