Pergunta

Ao usar duplo clique habilitar em qualquer componente, às vezes eu tenho problemas para ativar o duplo clique.

Eu percebi que se eu passar entre o meu único clique rápido ele nunca irá disparar um evento de clique duplo. Se, no entanto, não mova o mouse entre os cliques em seguida, o duplo-clique é acionado.

Eu estou pensando em usar o temporizador para obter minha própria dê um duplo clique.

Como você resolveria isso?

Amostra

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="init()">
    <mx:Canvas id="bg" width="100%" height="100%" backgroundColor="white" />

     <mx:Script>
        <![CDATA[

            private function init():void {

            var cvstest:Canvas = new Canvas();
            cvstest.width = 200;
            cvstest.height = 200;
            cvstest.x = 100;
            cvstest.doubleClickEnabled = true;
            cvstest.addEventListener(MouseEvent.DOUBLE_CLICK, dc);
            cvstest.addEventListener(MouseEvent.MOUSE_DOWN, md);
            cvstest.setStyle("backgroundColor",0xff0000);
            this.addChild(cvstest);   



            }

         public function dc (e:MouseEvent) : void {
            trace("DOUBLE CLICK ON TEST CANVAS");
        } 
         public function md (e:MouseEvent) : void {
            trace("SINCLICK ON TEST CANVAS");
        } 

        ]]>    
    </mx:Script>
</mx:Application>
Foi útil?

Solução

No meu trackpad, seu código funciona perfeitamente bem, mas eu acho que isso é porque é terrivelmente difícil para mover o mouse entre os cliques.

Se eu usar a minha Wacom, parece que o meu duplo clique só é bem sucedido cerca de 1/3 do tempo.

Há também o seguinte: http://bugs.adobe.com/jira/browse/FP-15: (

Outras dicas

Eu posso resolver isso limpando a classInterval e chamando uma validação adiada.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top