奇怪的Flex双击行为

时间:2009-05-18 20:19:25

标签: flex events click double-click

在任何组件上使用双击启用时,有时我无法激活双击。

我意识到,如果我在快节奏的单击之间移动,它将永远不会触发双击事件。但是,如果我没有在点击之间移动鼠标,则会点击双击。

我正在考虑使用计时器来进行双击。

你会如何解决这个问题?

示例

<?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 个答案:

答案 0 :(得分:1)

在我的触控板上,你的代码运行得非常好,但我想这是因为在点击之间移动鼠标非常困难。

如果我使用我的wacom,似乎我的双击仅在1/3的时间内成功。

还有这个: http://bugs.adobe.com/jira/browse/FP-15 :(

答案 1 :(得分:0)

我可以通过清除classInterval并调用延迟验证来解决此问题。