如果用户在iOS和Android系统上点击并按住手指,原生浏览器的行为是突出显示最近的可选择文本。
我正在构建一个webapp,其中有一个类似于iOS Stocks应用中的图表,你可以点击图表了解特定点的细节,也可以沿着图表滑动手指了解不同点的细节。
交互效果很好,但当用户点击并按住时,两个平台仍在选择图表下方的文本。
我是在开始交互时使用 touchstart
事件,并更新图表上显示的内容。touchmove
. 这两个事件都调用了 stopPropagation()
和 preventDefault()
.
有什么办法可以让浏览器不选择图表下面的文字吗?
注意:我不希望将 user-select: noselect
在图表下方的文字上,因为我...。做 希望文字是可以选择的,否则。另外,这些图表可以移动,我不一定能知道它们下面的文字是什么。
如果有帮助的话,这里是我说的UI的图片,在iOS上拍摄的。这张截图是在我点击并按住图表后拍摄的。正如你所看到的,它突出了 "提款"。这种行为在Android上也会发生。
工作解决方案:添加 user-select: noselect
调用 touchstart 时,在您的文档上删除它,然后将其
兼容所有浏览器的前缀 浏览器的用户选择兼容性