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 回答