0

所以我试图在我们的单页结帐页面上加载以下 jQuery 代码......基本上它应该在输入文本字段时显示一个相关的 div......但是,它只是不会加载。我已经在 jsfiddle 中尝试过,它工作正常,但是一旦在 Magento 上,它就无法工作了......

jQuery代码

<script>
  jQuery.noConflict();

  jQuery(window).load(function(){
jQuery(".show-hidden-div").click(function() {
    jQuery('.hidden-div').css('display','none');
    var inputId = $(this).attr('id');
    jQuery("#tip-"+inputId+"").show();
});

});
</script>

以上代码直接输入到head.phtml文件中

这是 jsfiddle 的链接,它显示了它应该如何工作.... http://jsfiddle.net/PeTUy/8/

任何见解都会有所帮助!

4

2 回答 2

3

Magento 默认不包含 jQuery,您需要先包含 jQuery 源代码。

如果您还没有包含 jQuery,这里的链接可能会有所帮助:

http://www.magentocommerce.com/boards/viewthread/268482/

假设您已经这样做了,请注意使用 jQuery 的 noConflict 模式的好处是重新定义用于选择元素的变量,如下所示:

var $j = jQuery.noConflict();

然后在需要的地方使用 $j ,如下所示:

$j(document).ready(function(){

    $j(".selector).functionName();

});

这样,jQuery 使用的标准“$”变量不会与原型之类的使用相同变量的变量冲突。

于 2012-06-19T06:15:43.183 回答
0

但是关于 Magento 和 jQuery 以及 Prototype 的使用:

  1. 在任何原型脚本之前包含 jQuery
  2. 添加 jQuery.noConflict(); 直接到你的 jQuery 文件的末尾,以确保它总是在原型脚本之前被调用并正确隔离

你需要这个来避免 protptype 和 jquery 冲突,因为它们都争用 $ 作为方法名

于 2012-06-16T05:53:10.003 回答