0

我一直在谷歌搜索这个“问题”一段时间,但没有任何运气。有没有办法改变双击的频率、速度,或者你想怎么称呼它?我的意思是,增加点击之间的时间并且仍然将其注册为双击。

4

1 回答 1

3

我想这是由操作系统决定的,因为具有不同可访问性需求的用户具有不同的双击时间。因此,我认为这不可能使用 Flash 播放器进行修改。

但是,如果您想模拟上述情况,我会执行以下操作:

    private var timer:Timer = new Timer(1000, 1);

    private var singleClickEvent:MouseEvent;

    public function onSingleClick(event:MouseEvent):void
    {
        if (timer.running)
        {
            timer.removeEventListener(TimerEvent.TIMER_COMPLETE, timerComplete);
            timer.stop();
            dispatchEvent(new MouseEvent(MouseEvent.DOUBLE_CLICK));
        }
        else
        {
            singleClickEvent = event;
            timer.addEventListener(TimerEvent.TIMER_COMPLETE, timerComplete);
            timer.start();
        }
    }

    private function timerComplete( event:TimerEvent ):void
    {
        dispatchEvent(singleClickEvent.clone());    
        singleClickEvent = null;
    }

基本上......当您单击一次启动计时器时,如果该计时器触发然后调度一个正常的 CLICK 事件。如果用户在计时器触发之前再次单击,则为双击并发送 DOUBLE_CLICK。

于 2012-09-19T14:36:00.077 回答