1

第一个线程:

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

4 回答 4

2

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

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

于 2013-03-20T15:36:40.493 回答
2

那么你可以像这样使用。

jQuery.noConflict();

但是,如果您使用的是 Joomla 之类的东西,那么有一些插件可以为您完成所有工作。 这很好用:

于 2013-03-20T15:37:26.580 回答
0

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

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

于 2013-03-20T15:36:41.570 回答
0

正如其他人建议的那样:

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

这两个应该解决两个文件的所有问题。请记住,每当您想调用 jQuery 函数时,都必须使用jQuerynot $

于 2013-03-20T15:49:35.807 回答