これがデフォルトの動作ではない理由について少し混乱していますか?
では、ボタンで Enter キーが押されたことを検出し、クリック イベント ハンドラを起動するにはどうすればよいでしょうか。(たとえば、TextInput フィールドには「enter」イベントがあります)
ありがとう
これがデフォルトの動作ではない理由について少し混乱していますか?
では、ボタンで Enter キーが押されたことを検出し、クリック イベント ハンドラを起動するにはどうすればよいでしょうか。(たとえば、TextInput フィールドには「enter」イベントがあります)
ありがとう
編集:元の投稿にロールバックされ、ボタンがとにかく選択された場合にのみイベントが発生します
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));
}
編集:以前に投稿したものはすべて無視してください。
スパーク ボタンで 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));
}
}