Parece que as atualizações recentes do Chrome (no Mac, pelo menos) mudaram sua implementação de window.PointerEvent
. Isso faz com que a versão atual do Leaflet (1.0.2) faça um diagnóstico errado do navegador como um dispositivo de toque e adicione a classe leaflet-touch
.
Esta linha parece ser a culpada:
pointer = window.PointerEvent || msPointer
...pode ser encontrado aqui: https://github.com/Leaflet/Leaflet/blob/v1.0.2/src/core/Browser.js#L33
O problema é que window.PointerEvent
é uma função, que sempre retornará 'truthy'.
leaflet-touch
ser aplicada ao container do mapa do folheto.Eu posso reproduzir isso também...
Duplicata de https://github.com/Leaflet/Leaflet/issues/3944. Não há como saber se o navegador está rodando em um computador com touchscreen ou não, só é possível saber se o navegador suporta eventos touch/pointer ou não. Veja também http://www.stucox.com/blog/you-cant-detect-a-touchscreen/
Então, qual é o sentido de detectar o toque se não for detectar o toque com precisão? Toda essa lógica não deveria ser removida do folheto então?
Comentários muito úteis
Então, qual é o sentido de detectar o toque se não for detectar o toque com precisão? Toda essa lógica não deveria ser removida do folheto então?