如何使用jQuery noconflict?

时间:2013-03-20 15:33:27

标签: javascript function jquery

第一个帖子:

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>

出了什么问题,我需要改变什么?

4 个答案:

答案 0 :(得分:1)

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

你自己执行的匿名函数不包括这段代码。

答案 1 :(得分:1)

您可以使用like this.

jQuery.noConflict();

但是如果你使用像Joomla这样的东西,有一些插件会为你做所有的工作.. This works well:

答案 2 :(得分:0)

当你使用noConflict时,所有用于调用jquery的$()都必须成为jQuery()

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

答案 3 :(得分:0)

正如其他人所说:

  1. $.noConflict()更改为jQuery.noConflict()
  2. 在第二个文件中将$('body).zoom({})更改为jQuery('body').zoom({})
  3. 这两个应该解决两个文件的所有问题。 请记住,无论何时想要调用jQuery函数,都必须使用jQuery而不是$