Определение поддержки сенсорного экрана в JavaScript: методы и приемы

Чтобы определить, поддерживается ли сенсорный экран с помощью JavaScript, вы можете использовать различные методы. Вот несколько подходов, которые вы можете использовать:

  1. Обнаружение событий касания: вы можете проверить, поддерживается ли событие ontouchstartв браузере. Это событие инициируется, когда точка касания помещается на сенсорную поверхность.
if ('ontouchstart' in window) {
  // Touch screen is supported
} else {
  // Touch screen is not supported
}
  1. Максимальное количество точек касания. Вы также можете использовать свойство maxTouchPointsобъекта navigator, чтобы определить максимальное количество точек касания, поддерживаемых устройством.
if (navigator.maxTouchPoints > 0) {
  // Touch screen is supported
} else {
  // Touch screen is not supported
}
  1. Запрос возможностей сенсорного управления. Другой подход — использовать метод matchMediaдля проверки наличия медиа-функции pointerсо значением coarse. Это указывает на поддержку сенсорного ввода.
if (window.matchMedia('(pointer: coarse)').matches) {
  // Touch screen is supported
} else {
  // Touch screen is not supported
}
  1. Прослушиватели событий касания. Вы можете добавить прослушиватели событий касания к определенным элементам и проверять, запускаются ли события касания. Если события касания поддерживаются и запускаются, это указывает на поддержку сенсорного экрана.
element.addEventListener('touchstart', function() {
  // Touch events are being triggered, touch screen is supported
});