我将焦点设置为init方法中的文本字段,但键盘输入事件仅在我首先单击文本字段时才有效。
有什么问题?
答案 0 :(得分:0)
这是因为,在AS3中,默认情况下,stage
得到了关注。因此,如果要将键盘事件侦听器添加到stage
以外的任何内容,则必须将焦点设置为该对象。
例,
如果txt
是您的文本字段,那么您正在向txt
添加键盘事件监听器,那么您必须为此重点关注
stage.focus = txt;
该行将焦点带到文本字段,但请记住,如果单击除此之外的任何内容,该对象将获得焦点。不用说,txt
失去了焦点。
提示:尝试使用向stage
添加键盘事件侦听器,如果这样做,则会在单击或释放键时调度该事件,而不管对象具有什么焦点。< / p>
stage.addEventListener(KeyBoardEvent.KEY_DOWN, onKeyDown);