如何在触摸设备上触摸某个html元素时防止滚动?

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

我有一个简单的浏览器游戏,已在桌面上完成,但我正在尝试在移动设备上运行它。

当前的问题是,当用户使用触摸屏在游戏容器内进行垂直拖动动作时,它会滚动屏幕或尝试刷新页面,具体取决于滚动的方向和级别。

我尝试设置

onScroll
onTouchMove
onTouchStart
onDragStart
onDrag
事件,所有事件都包含
e.stopPropagation()
e.preventDefault()
以及返回
false
,但问题仍然存在。

我知道这是可能的,因为如果您在手机上打开2048的浏览器实现并尝试在游戏容器内拖动,它不会滚动,但如果您在页面外部游戏容器上的任何位置拖动,则可以滚动。不过,我在页面的源代码中找不到它是如何完成的。

如何实现这一点?

javascript html reactjs mobile touch-event
1个回答
0
投票

使用以下内容:

* {
...
user-select: none;
touch-action: none;
...
}

应该可以解决问题。

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