Magento jQuery冲突

时间:2012-06-24 08:08:22

标签: jquery magento

在我的 head.phtml 中,我有以下声明来获取菜单。

<script src="<?php echo $this->getJsUrl(); ?>lib/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="<?php echo $this->getJsUrl(); ?>jQuery_1205141001.js" type="text/javascript"></script>
<script src="<?php echo $this->getJsUrl(); ?>Common_1205141001.js" type="text/javascript"></script>
<script src="<?php echo $this->getJsUrl(); ?>lib/jquery.jcarousel.min.js" type="text/javascript"></script>

现在,我可以使菜单正常工作,但由于这个原因,细节页面上的添加到购物车按钮被破坏了。如果我删除了上述引用,则会恢复添加到购物车按钮。我查看了有关prototype.js和jquery之间冲突的各种问题,并尝试了以下内容

  1. 首先,我尝试在jquery-1.4.2.min.js的末尾添加jQuery.noConflict();,但它没有用。它也打破了菜单
  2. 其次,我尝试在查询文件jQuery_1205141001.js和Common_1205141001.js的开头添加jQuery.noConflict();。这也没有帮助。
  3. 请告诉我如何使两件事都有效。您可以访问此LINK进行实时测试。在这里,您将看到菜单正常工作但添加到购物车已损坏。

    注意: - 它与在jquery调试器中显示的Superfish.js和其他错误无关。

5 个答案:

答案 0 :(得分:4)

<script src="<?php echo $this->getJsUrl(); ?>lib/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="<?php echo $this->getJsUrl(); ?>jQuery_1205141001.js" type="text/javascript"></script>
<script src="<?php echo $this->getJsUrl(); ?>Common_1205141001.js" type="text/javascript"></script>
<script src="<?php echo $this->getJsUrl(); ?>lib/jquery.jcarousel.min.js" type="text/javascript"></script>
<script type="text/javascript">
  $.noConflict(); //Use no conflict here instead of js file
  // Code that uses other library's $ can follow here.
</script>

有关详细信息,请访问链接。
http://api.jquery.com/jQuery.noConflict/

答案 1 :(得分:1)

我似乎记得必须按此顺序调用不同的.js文件/代码才能使其正常工作。

  1. jquery.js
  2. noconflict call
  3. 的prototype.js
  4. 你有这个去过吗?

    这似乎是其他几个问题的答案:

    Weird Chrome prototype/jQuery conflict

    magento using jquery with noconflict

答案 2 :(得分:1)

如果您正在提供文件,请向jquery添加两个换行符,然后

jQuery.noConflict();

答案 3 :(得分:0)

这个有效:

$.noConflict();
jQuery(document).ready(function($) {});

答案 4 :(得分:0)

我尝试了“没有冲突”的方法,但它对我没用。

最后,我不需要它。

以下是我在修补2小时后解决问题的方法:

确保您尝试引入的冲突javascript文件是要调用的最后一个javascript:/app/design/frontend/YOURTHEME/YOURCHILDTHEME/template/page/html/head.phtml。

就我而言,我试图介绍的麻烦文件是:'jquery-1.4.2.min.js'

我预感到这可能与默认脚本冲突:'jquery-1.7.1.min.js'