列表中的Jquery click事件在Firefox和其他浏览器中的工作方式不同

时间:2015-07-30 12:32:33

标签: jquery html onclick click

我目前正在开发动态购物车。过程是这样的:有一个具有相同类的元素列表,称为" cartElement"。当用户使用此类单击一个元素时,如果脚本没有ID(或者由于不同的元素类型),则脚本会获取其ID或父ID(ID),然后将其发送到另一个函数。

这是脚本:

$('.cartElement').click(function () {
    var id;
    if (event.target.id == '') 
        id = event.target.parentNode.id;
    else 
        id = event.target.id;
    cartRequest(id);
});

这是一个html元素:

<div class="sub-addToCart float-lt">
    <button class="addToCart cartElement" id="webreseaux">
       <p class="float-lt">Je veux !</p>
       <i class="icon-cart float-rt"></i>
    </button>
</div>

这适用于除Firefox之外的所有浏览器,它不输出任何内容,甚至不输出错误。我试图在不同的点添加console.log以查看它在哪里中断。我在if()语句之前得到一个console.log()输出,但不是在它之后。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

Firefox不使用全局事件模型,您必须将它明确地传递给事件回调处理程序:

$('.cartElement').click(function(event){ //<<< pass 'event' here
    /* .... */
});