Как отключить прокрутку всей страницы, используя события указателя на элемент? - PullRequest
0 голосов
/ 13 мая 2018

У меня есть библиотека, которая позволяет рисовать на холсте. В настоящее время он поддерживает события мыши и касания. Я также хотел бы добавить поддержку событий указателя.

Я обрабатываю pointerdown, pointermove и pointerup события в элементе canvas. Все отлично работает в Chrome на моем ноутбуке, когда я использую мышь. Однако, когда я испытываю это на своем планшете, я получаю только несколько pointermove событий (2-5) до получения pointercancel события, за которым следуют pointerout и pointerleave.

Я полагаю, что браузер запускает pointercancel, потому что, перемещая мой палец по холсту, также запускается прокрутка всей страницы.

Чтобы отключить прокрутку при использовании сенсорных событий, я вызываю event.preventDefault() в обработчиках для событий touchstart и touchmove, но, похоже, это решение не работает с событиями указателя.

Как отключить прокрутку всей страницы, когда я рисую поверх элемента canvas при использовании событий указателя?

1 Ответ

0 голосов
/ 13 мая 2018

Вы пробовали свойство CSS touch-action: none? Он отключает любое поведение пользовательского агента (например, прокрутку) для элемента.

Для более детальной настройки ознакомьтесь со статьей MDN для touch-action .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...