Почему на touch-ноутбуках некоторые SPA перестали поддерживать touch-события

в 12:30, , рубрики: Google Chrome, javascript, touch on desktop

Возможно, я только сейчас разглядел, а всё уже давно знают, но оказывается, что в Chrome 70 сделали вот такое: The ontouch* APIs default to disabled on desktop

Соответственно, если в своём коде вы опирались на наличие ключей 'ontouch*' в document или window, ваш код перестанет определять, что работает на touch-устройстве.

Я напоролся у себя на опечатку:

var isTouchDevice = (('ontouchstart' in window) || (navigator.MaxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0));

И когда первое условие перестало быть true, второе облажалось. Должно было быть navigator.maxTouchPoints

А вот, к примеру, в jQuery UI Touch Punch 0.2.3 используется вот такой код:

  $.support.touch = 'ontouchend' in document;

Соответственно, также теряется поддержка.

Автор: bookworm

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js