I wie unten ein Code-Schnipsel haben:Rechts ContextMenu Ereignis mehrmals feuern
map.getViewport().addEventListener('contextmenu', function (e) {
e.preventDefault();
console.log(e.x);
openContextMenu(e.x, e.y);
});
im Grunde Ich versuche contextmenu auf die Openlayers Karte hinzuzufügen. Aber ein seltsames Verhalten passiert. Wenn ich mit der rechten Maustaste klicke, wird der Ereignis-Listener mehrfach ausgelöst. von Zeiten. Im obigen Code würde console.log mehr als 30 Mal für nur einen Rechtsklick auf die Karte gedruckt.
Jetzt, wenn ich dies mit einem Flag behandeln, dann wird das Kontextmenü nicht gerendert, d. H. Sieht so aus, als ob openlayer all diese Mehrfachanrufe benötigt. Da ich jedoch beabsichtige, komplexe Operationen für den Listener durchzuführen, kann ich nicht mehrmals darauf zugreifen lassen, wenn ich einmal mit der rechten Maustaste klicke.
Wie kann ich das beheben? Gibt es eine andere bessere Möglichkeit, Rechtsklick-Kontextmenü des Hinzufügens Karte
zu Openlayers ich verwende Openlayers 3.0