Es scheint, dass die jüngsten Updates für Chrome (zumindest auf dem Mac) die Implementierung von window.PointerEvent
geändert haben. Dies führt dazu, dass die aktuelle Version von Leaflet (1.0.2) den Browser fälschlicherweise als Touch-Gerät diagnostiziert und die Klasse leaflet-touch
hinzufügt.
Diese Zeile scheint der Übeltäter zu sein:
pointer = window.PointerEvent || msPointer
...hier zu finden: https://github.com/Leaflet/Leaflet/blob/v1.0.2/src/core/Browser.js#L33
Das Problem ist, dass window.PointerEvent
eine Funktion ist, die immer 'Wahrheit' zurückgibt.
leaflet-touch
auf den Kartencontainer der Broschüre angewendet wird.das kann ich auch reproduzieren...
Duplikat von https://github.com/Leaflet/Leaflet/issues/3944. Es gibt keine Möglichkeit zu wissen, ob der Browser auf einem Computer mit Touchscreen läuft oder nicht, es ist nur möglich zu wissen, ob der Browser Berührungs-/Zeigerereignisse unterstützt oder nicht. Siehe auch http://www.stucox.com/blog/you-cant-detect-a-touchscreen/
Was bringt es also, Berührungen zu erkennen, wenn sie nicht genau erkannt werden? Sollte diese ganze Logik dann nicht aus dem Flugblatt entfernt werden?
Hilfreichster Kommentar
Was bringt es also, Berührungen zu erkennen, wenn sie nicht genau erkannt werden? Sollte diese ganze Logik dann nicht aus dem Flugblatt entfernt werden?