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

我目前正在研究动态购物车.过程如下:有一个具有相同类的元素列表,称为“cartElement”.当用户使用此类单击一个元素时,如果脚本没有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元素:

这在除了没有输出任何内容的Firefox之外的每个浏览器中都能很好地工作,甚至不是错我尝试在不同的点添加console.log以查看它在哪里中断.我在if()语句之前得到一个console.log()输出,但不是在它之后.任何的想法 ?

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

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

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些