如何防止浏览器生成长触摸的 ContextMenu 事件

问题描述 投票:0回答:1

浏览器支持触摸事件并可能生成鼠标事件。此外,对于长触摸,浏览器会生成一个 ContextMenu 事件。但是,在我的工业环境中,我希望所有触摸事件都像单击事件一样处理。是否有全局设置来阻止浏览器生成上下文菜单事件?或者我至少可以设置浏览器生成此类事件的时间吗?

到目前为止,我想到的唯一解决方案是订阅单击和上下文菜单事件并调用相同的处理程序。不过,我宁愿避免应用程序中的每个按钮都出现这种情况......

有什么想法吗?

javascript reactjs typescript chromium
1个回答
1
投票

在 Android 上长按时禁用上下文菜单

有几个答案

但是那里得票最多的答案可能对你来说不是一个好的解决方案。 尝试看看这是否有效,

window.ontouchstart = function(event) {
     event.preventDefault();
     event.stopPropagation();
     return false;
};

请记住,

window.ontouchstart
将覆盖先前的函数分配(如果存在)。如果您想在
touchstart
上使用
window
触发多个不同的功能,则必须使用
addEventListener

© www.soinside.com 2019 - 2024. All rights reserved.