2013-03-20 74 views
1

第一线:如何使用jquery noconflict?

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

即使世界与我2个JS文件冲突。 主要的JS代码是在这里:

http://paste.ofcode.org/Nnv7TN9wgs6B5FE3B5Bi55

第二个是在这里:

http://paste.ofcode.org/eZCb5XAH3xsayK5HgBvant

都是不合群 我试图用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> 

什么是错的,我需要改变什么?谢谢

回答

1

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

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

+0

does not work :(( – user2177459 2013-03-20 15:41:29

+0

你在控制台中是否有任何错误 – 2013-03-20 15:42:19

+0

http://puu.sh/2kRPt – user2177459 2013-03-20 15:45:43

1

那么你可以使用like this.

jQuery.noConflict(); 

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

0

如其他人所示:

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

这两个应该解决所有与两个文件的问题。 并记住,只要你想调用jQuery函数,你必须使用jQuery而不是$

+0

http://puu.sh/2kS3N没有任何改变。不工作 – user2177459 2013-03-20 15:56:12

+0

谢谢。现在工作 – user2177459 2013-03-20 16:11:41