javascript - 防止长按选择附近的文本
问题描述
如果用户同时在 iOS 和 Android 上点击并按住手指,则本机浏览器行为是突出显示最近的可选文本。
我正在构建一个 web 应用程序,其中有一个类似于 iOS 股票应用程序中的图表的图表,您可以在其中点击图表以获取有关特定点的详细信息,并沿着图表滑动手指以获取有关不同点的详细信息。
交互工作正常,但当用户点击并按住时,两个平台仍在选择图表下方的文本。
我正在使用touchstart
事件开始交互,并在touchmove
. 两个事件都调用stopPropagation()
和preventDefault()
。
我可以做些什么来告诉浏览器不要选择图表下方的文本吗?
注意:我不想user-select: noselect
在图表下方的文本上设置,因为我确实希望文本可以选择。此外,这些图表可以四处移动,我并不总是知道它们下面的文字是什么。
如果有帮助,这是我正在谈论的 UI 的图像,在 iOS 上拍摄。此屏幕截图是在我点击并按住图表后拍摄的。如您所见,它突出显示了“提款”。同样的行为也发生在 Android 上。
解决方案
工作解决方案:user-select: noselect
在调用 touchstart 时添加您的文档,然后将其删除
与所有浏览器兼容的前缀用户选择浏览器的兼容性
推荐阅读
- python-3.x - 动画在matplotlib python中不起作用
- node.js - 如何从 JSON 结构中删除相同的命名对象,但结构中的模式不统一?
- python - 如何将文本中的变量调用到 sqlite3
- python - 为什么 MSVC 链接器在不被要求时会寻找特定的库?
- java - 为 Retrofit Android 制作 Pojo 类的 XML 响应
- python - Pygame 模块(我无法导入 rect 类)
- c++ - DirectX 11 中的立方体网格渲染不正确
- office-js - 使 Office 插件在 Word、Excel、PowerPoint 和 Outlook 中可用
- swiftui - 如何在 SwiftUI 视图中执行非视图代码
- java - 类 java.lang.String 不能转换为类 java.util.List(java.lang.String 和 java.util.List 位于加载器“bootstrap”的模块 java.base 中)