我正在 ReactJS 中制作一个游戏,我使用长按事件在游戏中执行某些操作(对长按事件使用 react-click-n-hold(。当我在移动浏览器上执行这些操作时,它总是显示上下文菜单。如何在不禁用单击和长按事件的情况下禁用移动设备上的上下文菜单?
<div onContextMenu={(e)=> e.preventDefault()}... />
Max Svid 的这个解决方案对我有用
https://stackoverflow.com/a/56328162/12722618
有点晚了 我发现 ContextMenuTrigger 元素的holdToDisplay标志读取 API.
基本上,如果您将标志设置为 -1,则如果您按住单击(默认情况下设置为 1000ms(,触发器将被禁用。
<ContextMenuTrigger id='menu_id' holdToDisplay={-1}>
// ...
</ContextMenuTrigger>
虽然我承认我没有在移动浏览器上测试过.
希望它能帮助未来的读者