1

我有点困惑为什么这不是默认行为?

那么,如何检测按钮上按下的回车键并触发 click 事件处理程序?(例如,在 TextInput 字段中有一个“输入”事件)

谢谢

4

2 回答 2

2

编辑:回滚到原始帖子,只有在选择按钮时才会触发事件

当用户将焦点放在按钮上时会触发 enter 事件,并且与键盘 enter 键无关。如果我没记错的话,在 Flash 中激活按钮的默认键是空格键。您可以通过执行以下操作来使用 enter:

myButton.addEventListener(KeyboardEvent.KEY_DOWN, onMyButtonKeyDown);

private function onMyButtonKeyDown(event:KeyboardEvent):void
{
    //simulate click if enter pressed
    if(event.keyCode == Keyboard.ENTER)
        myButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
}
于 2011-09-12T17:26:18.450 回答
2

编辑:忽略我之前发布的所有内容。

您可以在火花按钮上使用 keyDown 事件并使用 KeyboardEvent 创建事件处理程序。

        <s:Button label="Submit" keyDown="enter_pressed(event)" id="submit" click="submit_clickHandler(event)"/>

        protected function enter_pressed(event:KeyboardEvent):void { 
            if(event.charCode == Keyboard.ENTER){
                submit.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); 
            }
        }
于 2011-09-13T12:43:57.630 回答