Impostare un doppio evento click senza disabilitare di default mouseup / comportamento mousedown
-
21-09-2019 - |
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?
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
.
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;