首页 > 解决方案 > 防止长按选择附近的文本

问题描述

如果用户同时在 iOS 和 Android 上点击并按住手指,则本机浏览器行为是突出显示最近的可选文本。

我正在构建一个 web 应用程序,其中有一个类似于 iOS 股票应用程序中的图表的图表,您可以在其中点击图表以获取有关特定点的详细信息,并沿着图表滑动手指以获取有关不同点的详细信息。

交互工作正常,但当用户点击并按住时,两个平台仍在选择图表下方的文本。

我正在使用touchstart事件开始交互,并在touchmove. 两个事件都调用stopPropagation()preventDefault()

我可以做些什么来告诉浏览器不要选择图表下方的文本吗?

注意:我不想user-select: noselect在图表下方的文本上设置,因为我确实希望文本可以选择。此外,这些图表可以四处移动,我并不总是知道它们下面的文字是什么。

如果有帮助,这是我正在谈论的 UI 的图像,在 iOS 上拍摄。此屏幕截图是在我点击并按住图表后拍摄的。如您所见,它突出显示了“提款”。同样的行为也发生在 Android 上。

在此处输入图像描述

标签: javascripthtmlcsstouchtouch-event

解决方案


工作解决方案:user-select: noselect在调用 touchstart 时添加您的文档,然后将其删除

与所有浏览器兼容的前缀用户选择浏览器的兼容性


推荐阅读