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

标签 jquery html onclick click

我目前正在开发动态购物车。过程是这样的:有一个具有相同类的元素列表,称为“cartElement”。当用户单击一个具有此类的元素时,脚本将获取其 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() 输出,但在它之后没有。有什么想法吗?

最佳答案

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

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

关于列表上的 Jquery 单击事件在 Firefox 和其他浏览器中的工作方式不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31723890/

相关文章:

jquery 表单验证不起作用 - zip 和电子邮件

javascript - for循环字符串每个单词

css - HTML5 视频响应垂直封面

javascript - CSS - 我怎样才能让第一行总是固定的?

php - 文本区域中的文本更改时触发事件

html - 从 Bootstrap 导航栏中删除左填充并保持正确的响应行为

html - 如何使用 Bootstrap 和 Angular 实现自定义日期选择器?

javascript - jquery如何添加onclick额外功能,而onclick原始功能埋在未知的js文件中

android - onClick 等待 1 秒然后运行代码

onclick - 单击图像时播放 MP3