Какова стратегия работы с touch- и mouse-событиями на платформах, которые генерируют сразу и те и другие?

Поскольку mousedown прилетает только вместе с touchend или touchmove для большей «отзывчивости» интерфейса я использую такой подход: определить, есть ли touch-события
(('ontouchstart' in window) || (navigator.MaxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0))
и затем ловить либо mousedown, либо touchstart.
Заодно такой подходт позволяет избавиться от 300мс-задержки перед кликом, поскольку ловим только touchstart-ы и touchend-ы, но не click-и.
И вот, попались несколько девайсов на Win8 (кажется, леново), которые генерят и то и другое.
Соответственно, мышь там перестаёт функционировать.

Как поступаете, если сталкивались с таким, коллеги?
  • Вопрос задан
  • 2435 просмотров
Пригласить эксперта
Ответы на вопрос 1
xeLL
@xeLL
Fullstack web developer
Планирую попробовать https://github.com/pukhalski/tap, пробовали?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы