如何在Chrome中使用设备模式时长按禁用上下文菜单?

jhe*_*dus 5 google-chrome google-chrome-devtools

如何在Chrome中使用设备模式时长按禁用上下文菜单?

我是说这个上下文菜单:

在此输入图像描述

我问这个是因为我想为移动设备调试长按手势,而上下文菜单会让我的反应应用程序以一种奇怪的方式运行:

当我尝试重新排序列表时,"奇怪的事情开始发生":所选项目开始遍布整个地方(从下面的快照可以看出).所选项目遮盖了Hello World.真奇怪.

在此输入图像描述

mty*_*aka 13

我的解决方法是在设备模式下测试长按操作时将此代码输入JS控制台:

window.oncontextmenu = function() { return false; }
Run Code Online (Sandbox Code Playgroud)


Sev*_*ems 5

我开发了一种稍微“高级”的解决方法,它仍然(大多数时候)在右键单击时显示上下文菜单,同时防止它在模拟的长按上显示:

window.oncontextmenu = function() {
    if (event.button != 2 && !(event.clientX == event.clientY == 1)) {
        event.preventDefault();
    }
}
Run Code Online (Sandbox Code Playgroud)