繁体   English   中英

如何使用jQuery noconflict?

[英]How to use jQuery noconflict?

第一个线程:

https://stackoverflow.com/questions/15526845/function-idreturn-document-getelementbyidid-blows-up-jquery

我的2个JavaScript文件有冲突。

我尝试使用no.conflict,但是我不明白我需要更改哪个功能...我的脚本加载如下

<script src="<?php echo Config::$absolutePath; ?>media/jquery-1.4.3.min.js"></script>
<script src="<?php echo Config::$absolutePath; ?>media/tags.js"></script>
<script src="<?php echo Config::$absolutePath; ?>js/zoom.js"></script> 
<script type="text/javascript">
$.noConflict();
// Code that uses other library's $ can follow here.
$(id){return document.getElementById(id)};
</script>
<script src="<?php echo Config::$absolutePath; ?>media/pixelicious.js"></script> 
<script type="text/javascript" src="<?php echo Config::$absolutePath; ?>media/dddropdownpanel.js"></script>

怎么了,我需要改变什么?

在第二个文件的末尾有一个$('body').zoom({ }) ,必须将其更改为jQuery('body').zoom({ })

您的自执行匿名函数不覆盖这段代码。

好吧,您可以像这样使用

jQuery.noConflict();

但是,如果你正在使用的东西如Joomla有一些pluggins会做所有的工作对你.. 这非常适用:

当您使用noConflict时,所有用于调用jquery的$()必须变为jQuery()

http://api.jquery.com/jQuery.noConflict/

正如其他人建议的那样:

  1. $.noConflict()更改$.noConflict() jQuery.noConflict()
  2. 在第二个文件中,将$('body).zoom({})更改为jQuery('body').zoom({})

那两个应该用两个文件解决所有问题。 请记住,每当您要调用jQuery函数时,都必须使用jQuery而不是$

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM