Если коснуться, еще, если нажать, еще - PullRequest
0 голосов
/ 13 октября 2018

Есть ли способ отличить прикосновение от щелчка?"С какой стати ты хочешь?"Всегда тот, кто думает, что знает все возможные варианты использования, поэтому вам:

У нас есть многоуровневое выпадающее меню навигации.Если пользователь находится на обычном ноутбуке с мышью, то меню выпадают на: onmouseover.Однако, если они нажимают на элемент первого уровня, мы бы хотели, чтобы они перешли прямо на страницу.Таким образом, проблема возникает, когда пользователь на ноутбуке с сенсорным экраном.В этом случае касание считается одновременно щелчком и наведением мыши.Таким образом, пользователь увидит выпадающие меню, прежде чем их перенаправят прямо на страницу, подключенную в первом уровне, или в заголовки меню.Они никогда не смогут выбрать пункт меню 2-го или 3-го уровня.

1 Ответ

0 голосов
/ 13 октября 2018

То, что вы можете сделать, это определить, находится ли пользователь на планшете / смартфоне или на ноутбуке, прежде чем объявить о ваших событиях, и после этого вы добавите правильное событие относительно устройства.

Вы можетеобнаружить устройство с помощью регулярного выражения в строке userAgent, содержащей данные в браузере пользователя; к нему можно обратиться из API навигатора => navigator.userAgent

Посетите этот веб-сайт, чтобы получить необходимое регулярное выражение: http://detectmobilebrowsers.com/

Или вы также можете использовать внешнюю библиотеку, такую ​​как mobile-detect.js.

...