Legen Sie einen Doppelklick auf Ereignis ohne Standard deaktivieren mouseup / mousedown- Verhalten

StackOverflow https://stackoverflow.com/questions/2089265

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?

War es hilfreich?

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;

http : //resources.esri.com/help/9.3/ArcGISServer/apis/Flex/apiref/com/esri/ags/Graphic.html#checkForMouseListeners

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top