У меня есть простой пользовательский интерфейс, который позволяет пользователям в настольных браузерах нажимать на ячейку в сетке, и, удерживая кнопку мыши нажатой, перемещать мышь вокруг, чтобы очень быстро выделить несколько ячеек. Я выполняю sh это с mousedown
, mouseover
и mouseup
событиями на document
и использую логический флаг, чтобы определить, удерживается ли кнопка мыши в нажатом положении. Он отлично работает в настольных браузерах.
Проблема в мобильных браузерах. Эти события мыши не существуют, и я знаю, что вместо этого нам нужно использовать события touch
, но после тщательного поиска в Google, SO и т. Д. 1016 *. Я не могу найти последовательный, работоспособный способ сделать то же самое в мобильных браузерах.
Самое близкое, что я видел, это захват начала с touchstart
, а затем отслеживание движения пальца с помощью touchmove
и evt.touches[0].clientX/Y
свойств. Есть ли лучший / более простой способ сделать это, или мы вынуждены в основном проверять координаты экрана с помощью clientX/Y
, чтобы выяснить, над каким элементом DOM мы «наводим курсор» и, соответственно, выделить элемент DOM?