Legen Sie einen Doppelklick auf Ereignis ohne Standard deaktivieren mouseup / mousedown- Verhalten
-
21-09-2019 - |
Frage
Ich versuche, ein Doppelklickereignis auf einer flexiblen Steuerung zu ermöglichen, ohne das Standard mouseup / mousedown- Verhalten zu deaktivieren.
Ich bin mit der ESRI Flex API für ArcGIS Server, und ich habe eine Karte Steuerung mit einer Hintergrundschicht und einer GraphicLayer. Die Grafikschicht hat mehrere Grafikobjekte reagieren auf Mouseover, und ermöglichen dem Benutzer die Karte zu schwenken, wenn sie klicken und halten. Allerdings, wenn ich einen Doppelklick auf Event-Handler für die Grafikobjekte implementieren, sie scheinen nicht mehr zu sprudeln ihre Standardverhalten auf der Karte.
Gibt es eine Möglichkeit, einen Doppelklick auf einem Grafik-Objekt zu implementieren, während das alte Verhalten von Klick zu erhalten und halten?
Lösung
Ich löste dies durch das Doppelklickereignis auf die Karte angebracht, anstatt die Grafik, und mit dem Zielattribut der Veranstaltung um die Grafik bekommen ich verwenden wollte.
Wie folgt aus:
map.addEventListener(MouseEvent.DOUBLE_CLICK, function(event:MouseEvent):void
{
var graphic:Graphic = event.target as Graphic;
if(graphic)
{
...
}
});
Andere Tipps
Wenn Sie die „checkForMouseListeners“ Eigenschaft auf false auf Ihren Grafikobjekte gesetzt, dann ist die Standardkarte Klick- / Drag Verhalten beibehalten werden.
graphic.addEventListener(MouseEvent.DOUBLE_CLICK, function(event:MouseEvent):void {
var graphic:Graphic = event.target as Graphic;
if(graphic) {
...
}
});
//preserve the default click/drag behavior on the map
graphic.checkForMouseListeners = false;