在Flex 3中,当用鼠标单击按钮或当它们具有焦点并且用户按下空格键时,按钮将调用其单击处理程序。
有没有一种简单的方法可以使具有焦点的Flex 3按钮在用户按下Enter键时调用其单击处理程序?
最佳答案
当然,您可以执行以下操作:
<mx:Script>
<![CDATA[
import mx.controls.Alert;
private function btn_click(event:MouseEvent):void
{
Alert.show("Clicked!");
}
private function btn_keyDown(event:KeyboardEvent):void
{
if (event.keyCode == Keyboard.ENTER)
btn.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
}
]]>
</mx:Script>
<mx:Button id="btn" label="Click Me" click="btn_click(event)" keyDown="btn_keyDown(event)" />
...尽管我不是非常热衷于在这些对象之外的对象上调度事件。较干净的方法可能是子类化Button,在子类中添加监听器和处理程序,然后从该类中调度click事件。但这应该有助于说明这一点。祝你好运!
关于apache-flex - 使Flex 3按钮响应Enter键的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/462618/