Предотвращение касания и удержания от выбора текста рядом - PullRequest
0 голосов
/ 28 апреля 2020

Если пользователь нажимает и удерживает палец на iOS и Android, то в основном браузере нужно выделить ближайший текст, который можно выбрать.

Я создаю веб-приложение, где есть диаграмма аналогично диаграмме в приложении iOS Акции, где вы можете нажать на диаграмму для получения подробной информации о конкретной c точке и провести пальцем по диаграмме для получения подробной информации о различных точках.

Взаимодействие работает нормально, но обе платформы все еще выбирают текст под диаграммой, когда пользователь нажимает и удерживает.

Я запускаю взаимодействие, используя событие touchstart, и обновляю то, что отображается на диаграмме во время touchmove. Оба события вызывают stopPropagation() и preventDefault().

Могу ли я что-то сказать браузеру, чтобы он не выделял текст под диаграммой?

Примечание: я не хочу устанавливать user-select: noselect в тексте под диаграммой, так как я делаю , чтобы текст можно было выбрать в противном случае. Кроме того, эти диаграммы можно перемещать, и я не всегда буду знать, какой текст под ними.

Если это поможет, вот изображение пользовательского интерфейса, о котором я говорю, взятое на iOS. Этот скриншот был сделан после того, как я нажал и удержал график. Как видите, выделено «Снятие средств». Такое же поведение происходит на Android.

enter image description here

1 Ответ

1 голос
/ 28 апреля 2020

Рабочее решение: добавьте user-select: noselect к документу при вызове touchstart и затем удалите его

Префиксы для совместимости со всеми браузерами Совместимость по выбору пользователя для браузеров

...