0

コンポーネントでダブルクリックイネーブルを使用すると、ダブルクリックをアクティブ化できない場合があります。

ペースの速いシングルクリック間を移動しても、ダブルクリックイベントが発生することはありません。ただし、クリックの合間にマウスを動かさないと、ダブルクリックが発生します。

タイマーを使って自分のダブルクリックを取得することを考えています。

これをどのように解決しますか?

サンプル

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

2 に答える 2

1

私のトラックパッドでは、あなたのコードは完全に正常に動作しますが、それはマウスをクリックして移動するのが非常に難しいためだと思います。

wacom を使用している場合、ダブルクリックが成功する確率は約 1/3 に過ぎないようです。

これもあります: http://bugs.adobe.com/jira/browse/FP-15 :(

于 2009-05-19T01:49:57.153 に答える
0

をクリアしclassIntervalて遅延検証を呼び出すことで、これを解決できます。

于 2009-10-22T22:30:43.423 に答える