我有点困惑为什么这不是默认行为?
那么,如何检测按下按钮的输入键并触发click事件处理程序? (例如,在TextInput字段中有一个'enter'事件)
由于
答案 0 :(得分:2)
编辑:回滚到原始帖子,只有在选择按钮时才会触发事件
当用户将焦点设置在按钮上并且与键盘输入键无关时,将触发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));
}
答案 1 :(得分:2)
编辑:忽略我之前发布的所有内容。
您可以在spark按钮上使用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));
}
}