Tampaknya pembaruan terbaru untuk Chrome (di Mac, setidaknya) telah mengubah implementasi window.PointerEvent
. Hal ini menyebabkan versi Leaflet (1.0.2) saat ini salah mendiagnosis browser sebagai perangkat sentuh dan menambahkan kelas leaflet-touch
.
Baris ini tampaknya menjadi pelakunya:
pointer = window.PointerEvent || msPointer
... dapat ditemukan di sini: https://github.com/Leaflet/Leaflet/blob/v1.0.2/src/core/Browser.js#L33
Masalahnya adalah window.PointerEvent
adalah sebuah fungsi, yang akan selalu mengembalikan 'truthy'.
leaflet-touch
diterapkan ke wadah peta selebaran.Saya dapat mereproduksi ini juga ...
Duplikat https://github.com/Leaflet/Leaflet/issues/3944. Tidak ada cara untuk mengetahui apakah browser berjalan di komputer dengan layar sentuh atau tidak, hanya mungkin untuk mengetahui apakah browser mendukung acara sentuh/penunjuk atau tidak. Lihat juga http://www.stucox.com/blog/you-cant-detect-a-touchscreen/
Jadi, apa gunanya mendeteksi sentuhan jika tidak mendeteksi sentuhan secara akurat? Bukankah seluruh logika itu harus dihapus dari selebaran?
Komentar yang paling membantu
Jadi, apa gunanya mendeteksi sentuhan jika tidak mendeteksi sentuhan secara akurat? Bukankah seluruh logika itu harus dihapus dari selebaran?