Pourquoi sur les ordinateurs portables tactiles, certains SPA ont cessé de prendre en charge les événements tactiles

Peut-être que je viens de comprendre, et tout le monde le sait depuis longtemps, mais il se trouve que dans Chrome 70, ils l'ont fait: les API ontouch * sont désactivées par défaut sur le bureau

Par conséquent, si dans votre code vous vous êtes appuyé sur la présence des touches «ontouch *» dans un document ou une fenêtre , votre code ne déterminera plus ce qui fonctionne sur l'appareil tactile.

J'ai rencontré une faute de frappe:

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

Et quand la première condition a cessé d'être vraie, la seconde a été foirée. Il aurait dû y avoir navigator.maxTouchPoints

Mais, par exemple, dans jQuery UI Touch Punch 0.2.3 , le code suivant est utilisé:

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

En conséquence, le soutien est également perdu.

Source: https://habr.com/ru/post/fr429052/


All Articles