我有一个简单的浏览器游戏,已在桌面上完成,但我正在尝试在移动设备上运行它。
当前的问题是,当用户使用触摸屏在游戏容器内进行垂直拖动动作时,它会滚动屏幕或尝试刷新页面,具体取决于滚动的方向和级别。
我尝试设置
onScroll
、onTouchMove
、onTouchStart
、onDragStart
和 onDrag
事件,所有事件都包含 e.stopPropagation()
和 e.preventDefault()
以及返回 false
,但问题仍然存在。
我知道这是可能的,因为如果您在手机上打开2048的浏览器实现并尝试在游戏容器内拖动,它不会滚动,但如果您在页面外部游戏容器上的任何位置拖动,则可以滚动。不过,我在页面的源代码中找不到它是如何完成的。
如何实现这一点?
使用以下内容:
* {
...
user-select: none;
touch-action: none;
...
}
应该可以解决问题。