Mengapa pada laptop-sentuh beberapa SPA tidak lagi mendukung event sentuh

Mungkin saya baru saja tahu, dan semua orang tahu untuk waktu yang lama, tetapi ternyata di Chrome 70 mereka melakukan ini: Ontouch * API default untuk dinonaktifkan di desktop

Dengan demikian, jika dalam kode Anda mengandalkan keberadaan kunci 'ontouch *' dalam dokumen atau jendela , kode Anda tidak akan lagi menentukan apa yang berfungsi pada perangkat sentuh.

Saya mengalami salah ketik:

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

Dan ketika kondisi pertama tidak benar, kondisi kedua kacau. Seharusnya ada navigator.maxTouchPoints

Tetapi, misalnya, di jQuery UI Touch Punch 0.2.3 , kode berikut digunakan:

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

Dengan demikian, dukungan juga hilang.

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


All Articles