如何实现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>

您还可以走得更远一步,腾出jQuerynoConflict(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

回到顶部