在我的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>
现在,我能够让菜单工作,但因此详细信息页面上的"添加到购物车"按钮已损坏。如果我删除上述引用,则会恢复"添加到购物车"按钮。我查看了有关原型.js和jquery之间冲突的各种问题,并尝试了以下事情
- 首先,我尝试在jquery-1.4.2.min.js末尾添加
jQuery.noConflict();
,但没有奏效。它还打破了菜单 - 其次,我尝试在查询文件的开头添加
jQuery.noConflict();
,jQuery_1205141001.js和Common_1205141001.js。这也无济于事。
请告诉我如何让这两件事都正常工作。您可以访问此链接进行现场测试。在这里,您将看到菜单正常工作,但添加到购物车已损坏。
注意:- 它与Superfish无关.js以及jquery调试器中显示的其他错误。
<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/
我似乎记得必须按此顺序调用不同的.js文件/代码才能使其正常工作。
- jquery.js
- 无冲突呼叫
- 原型.js
你试过了吗?
这似乎是其他几个问题的答案:
奇怪的Chrome原型/jQuery冲突
Magento 使用 jquery with noconflict
如果您正在提供文件,请向 jquery 添加两个换行符,然后
jQuery.noConflict();
这个工作:
$.noConflict();
jQuery(document).ready(function($) {});
我尝试了"无冲突"方法,但它对我不起作用。
最后,我不需要它。
以下是我在修补 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"