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