在 Firefox 中停止冒泡事件

Stopping bubbling event in Firefox

我正在尝试处理 touch/mouse 事件。所以,我创建了这段代码:

myObject.addEventListener("touchstart", function(e){
    e.stopPropagation();
    e.preventDefault(); 
    console.log("Touched"); 
    mouseTouchDown(e);
}); 
myObject.addEventListener("mousedown", function(e){
    console.log("Clicked"); 
    mouseTouchDown(e);
}); 
function mouseTouchDown(e){
console.log("Some function.");};

我想停止触摸事件的冒泡,这样点击就不会触发了。它适用于 Chrome,但在 Firefox 上我进入控制台:

Touched
Clicked

如何在触摸事件后停止触发鼠标点击?

我试过返回false,但是没用。

这看起来像是浏览器中的错误,您的代码看起来没问题。

参见:https://bugzilla.mozilla.org/show_bug.cgi?id=977226
您使用哪个 OS/version 的 Firefox 进行测试?

您是否已将两个事件附加到相同的元素?

如果是这种情况,错误不是因为冒泡 happening.while 鼠标单击会发生几个事件,如 mousedowntouchstart ..etc.so 如果你想的话为避免发生鼠标单击事件,在鼠标 down.This 中添加 preventDefault() 将禁用该元素上发生的默认鼠标单击事件。