Parece que las actualizaciones recientes de Chrome (al menos en Mac) han cambiado su implementación de window.PointerEvent
. Esto hace que la versión actual de Leaflet (1.0.2) diagnostique erróneamente el navegador como un dispositivo táctil y agregue la clase leaflet-touch
.
Esta línea parece ser la culpable:
pointer = window.PointerEvent || msPointer
... se puede encontrar aquí: https://github.com/Leaflet/Leaflet/blob/v1.0.2/src/core/Browser.js#L33
El problema es que window.PointerEvent
es una función que siempre devolverá 'verdad'.
leaflet-touch
se aplica al contenedor del mapa del folleto.Puedo reproducir esto también...
Duplicado de https://github.com/Leaflet/Leaflet/issues/3944. No hay forma de saber si el navegador se está ejecutando en una computadora con pantalla táctil o no, solo es posible saber si el navegador admite eventos de toque/puntero o no. Consulte también http://www.stucox.com/blog/you-cant-detect-a-touchscreen/
Entonces, ¿cuál es el punto de detectar el tacto si no va a detectar el tacto con precisión? Entonces, ¿no debería eliminarse toda esa lógica del folleto?
Comentario más útil
Entonces, ¿cuál es el punto de detectar el tacto si no va a detectar el tacto con precisión? Entonces, ¿no debería eliminarse toda esa lógica del folleto?