我目前正在开发动态购物车。过程是这样的:有一个具有相同类的元素列表,称为“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/