Несмотря на то, что есть несколько хитрых способов достижения этого, есть два распространенных метода, которые я использую, чтобы обойти это несоответствие:
1) Использовать флаги
Настройкалогические флаги в ваших обработчиках событий, такие как mouseIsDown
или mouseIsMoving
, могут быть установлены и проверены на события мыши и касания.Если пользователь щелкает мышью, примите это как событие мыши.Затем, если с ним происходит событие касания, не обращайте на него внимания.
2) Реализуйте только то, что необходимо
Что ж, в любом случае, это хорошая практика.Не беспокойтесь о добавлении событий touchmove
и mousemove
, если вам это не нужно.Это только усложнит поддержку кода.Изменить: Вероятно, следовало бы быть более конкретным: подумайте о переосмыслении вашего пользовательского интерфейса, если вам требуется более сложное отслеживание событий.
Наконец, не полагайтесь на списки конфигурации внешнего оборудования, поскольку они редко бывают «полностью» точными.