1

これがデフォルトの動作ではない理由について少し混乱していますか?

では、ボタンで Enter キーが押されたことを検出し、クリック イベント ハンドラを起動するにはどうすればよいでしょうか。(たとえば、TextInput フィールドには「enter」イベントがあります)

ありがとう

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 に答える