Странное поведение Flex двойного щелчка - PullRequest
0 голосов
/ 19 мая 2009

При использовании двойного щелчка на любом компоненте иногда возникают проблемы с активацией двойного щелчка.

Я понял, что если я перейду между быстрым одиночным щелчком, он НИКОГДА не вызовет событие двойного щелчка. Если, однако, я не перемещаю мышь между щелчками, запускается двойной щелчок.

Я подумываю использовать таймер, чтобы получить свой собственный двойной щелчок.

Как бы ты решил это?

Sample

<?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>

Ответы [ 2 ]

1 голос
/ 19 мая 2009

На моем трекпаде ваш код работает отлично, но я думаю, это потому, что очень сложно перемещать мышь между щелчками.

Если я использую свой wacom, кажется, что мой двойной щелчок успешен только в 1/3 времени.

Есть также это: http://bugs.adobe.com/jira/browse/FP-15: (

0 голосов
/ 23 октября 2009

Я могу решить эту проблему, очистив classInterval и вызвав отложенную проверку.

...