Impostare un doppio evento click senza disabilitare di default mouseup / comportamento mousedown

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

Domanda

Sto cercando di attivare un evento di doppio clic su un controllo flessibile senza disabilitare i comportamenti di default mouseup / MouseDown.

Sto utilizzando l'API ESRI ArcGIS Flex per il server, e ho un controllo della mappa con un livello di sfondo e di un GraphicLayer. Il livello grafico ha diversi oggetti grafici che rispondono a mouseover, e consentire all'utente per scorrere la mappa, se fanno clic e tenere premuto. Tuttavia, quando ho implementare un gestore doppio click eventi per gli oggetti grafici, non sembrano più a ribollire il loro comportamento predefinito per la mappa.

C'è un modo per implementare un doppio click su un oggetto grafico, mantenendo il vecchio comportamento da clic e tenendo premuto?

È stato utile?

Soluzione

Ho risolto questo allegando il doppio evento click per la mappa, piuttosto che la grafica, e utilizzando l'attributo target della manifestazione per ottenere l'immagine che volevo usare.

In questo modo:

map.addEventListener(MouseEvent.DOUBLE_CLICK, function(event:MouseEvent):void
{
    var graphic:Graphic = event.target as Graphic;
    if(graphic)
    {
        ...
    }
});

Altri suggerimenti

Se si imposta la "checkForMouseListeners" proprietà su false sui vostri oggetti grafici, allora il comportamento mappa predefinita click / resistenza saranno conservati

.

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top