0

init メソッドでテキスト フィールドにフォーカスを設定しましたが、最初にテキスト フィールドをクリックしたときにのみキーボード入力イベントが機能します。

何が問題ですか?

4

1 に答える 1

0

これは、AS3 ではデフォルトでstageフォーカスが当たっているためです。そのため、キーボード イベント リスナーをそれ以外のものに追加する場合は、stageそのオブジェクトにフォーカスを設定する必要があります。例、txtあなたのテキストフィールドにキーボードイベントリスナーを追加している場合txt、そのためにフォーカスを取得する必要があります

stage.focus = txt;

その行はテキスト フィールドにフォーカスをもたらしましたが、それ以外のものをクリックすると、そのオブジェクトがフォーカスされたことを思い出してください。txt集中力が切れたのは言うまでもありません。

ヒント: キーボード イベント リスナーを に追加してみてくださいstage。そうすると、どのオブジェクトにフォーカスがあるかに関係なく、キーがクリックまたは離されたときにイベントが送出されます。

stage.addEventListener(KeyBoardEvent.KEY_DOWN, onKeyDown);
于 2012-09-18T05:26:08.457 に答える