在flex中,使用返回键按下所有按钮

时间:2010-04-23 18:31:05

标签: flex flash actionscript-3

可以使用空格键按下flex中的按钮,但是客户端希望按Enter键而不是空格键。这可以通过编程每个按钮来实现,但这将非常耗时。

有没有人知道如何在更短的时间内完成这项工作?

感谢。

1 个答案:

答案 0 :(得分:2)

我创建了一个KeyPressForwarder,只需按一下“转发”按键:

package com.sophware.backend
{
    import flash.events.IEventDispatcher;
    import flash.events.KeyboardEvent;
    import flash.events.MouseEvent;
    import flash.ui.Keyboard;

    public class KeyPressForwarder
    {   

        public function dispatchAsClickEvent(evt:KeyboardEvent):void
        {       
            if(evt.keyCode == Keyboard.ENTER)
            {           
                var dispatcher:IEventDispatcher = evt.target as IEventDispatcher;
                dispatcher.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
            }           
        }       

    }   
}

然后设置绑定:

<mx:Button
    id="Name"
    keyUp="_keyPressForwarder.dispatchAsClickEvent(event)"
    click="addOrModifyEntry(event)"
    />

您可以消除该类,只使用该函数,因为该概念是通用的。只需确保您有一个click处理程序来处理转发的事件。