我正在尝试处理触摸/鼠标事件。所以,我创建了这段代码:
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,但它不起作用。
答案 0 :(得分:1)
这看起来像浏览器中的错误,您的代码看起来很好。
请参阅:https://bugzilla.mozilla.org/show_bug.cgi?id=977226 你用什么操作系统/版本的Firefox进行测试?
答案 1 :(得分:0)
你是否用相同的元素附加了两个事件?
如果是这种情况,则错误不是因为冒泡发生。如果你想避免鼠标点击事件发生,鼠标点击会发生几个事件,如mousedown
,touchstart
..etc.so在鼠标中添加preventDefault()
。这将禁用在该元素上发生的默认鼠标单击事件。