Jquery与Magento原型冲突

时间:2014-09-22 15:55:39

标签: javascript jquery html magento

我想在magento产品页面中使用Foundation 5 Reveal模式。

我在页脚中添加了jquery和foundation.js,并从footer.phtml

调用了Foundation
<script src="js/vendor/jquery.js"></script>

<script src="js/foundation.min.js"></script>

<script>

  $(document).foundation();

</script>

并在head.phtml

中添加了modernizr和css文件
 <link rel="stylesheet" href="css/foundation.css" />
 <script src="js/vendor/modernizr.js"></script>

然后我在产品页面上添加了标记,并且它的工作非常好。但它与magento原型相冲突。

然后我刚刚完成jQuery.noConflict();然后显示模型停止工作。我以为我是因为我在同时加载两个版本所以我删除了jquery lib中的构建,然后再次原型停止工作。

我还将jquery调用从头部调到local.xml,page.xml但没有运气!

错误代码:未捕获的TypeError:无法读取属性&#39; config&#39;未定义的prototype.js:828

有谁知道我在做什么问题或错误?

提前非常感谢!

1 个答案:

答案 0 :(得分:0)

有两件事可能会有所帮助:

  1. 您拨打noConflict电话非常重要。如果您网站的其余部分使用PrototypeJS,那么我在这里执行此操作:

    <script src="js/vendor/jquery.js"></script>
    <script>jQuery.noConflict();</script>
    <script src="js/foundation.min.js"></script>
    
  2. 完成noConflict后,当您想使用jQuery时,必须使用jQuery *而不是$

    <script>
    
      jQuery(document).foundation();
    
    </script>
    

  3. (*你没有拥有,你可以使用noConflict的返回值来创建别名。例如,var $j = jQuery.noConflict();会让你使用$j代替jQuery。)