可以使用空格键按下flex中的按钮,但是客户端希望按Enter键而不是空格键。这可以通过编程每个按钮来实现,但这将非常耗时。
有没有人知道如何在更短的时间内完成这项工作?
感谢。
答案 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
处理程序来处理转发的事件。