我在tlftextfield中有一个默认文本,在第一次(!)点击它以输入一些自己的文本时将被删除。但是,当我将一个函数附加到FocusEvent.FOCUS_IN时,文本字段失去了焦点。这就是我现在所拥有的:
function clearField(event:FocusEvent) {
if (event.currentTarget.text == defaultText[event.currentTarget.name]) {
event.currentTarget.text="";
event.currentTarget.textFlow.interactionManager.setFocus();
}
}
处理程序附加如下:
rmDiagnose.txtDiagnose.addEventListener(FocusEvent.FOCUS_IN, clearField);
我在这里缺少什么?
答案 0 :(得分:1)
您正在使用交互管理器的setFocus()
方法(ISelectionManager
)。请注意,documentation says此方法用于将焦点设置在包含所选文本的容器上。
此方法专门用于您使用鼠标选择的文本。在您的方案中,没有选定的文本。
相反,只需使用usual means to focus an object即可。在你的情况下:
stage.focus = InteractiveObject(event.currentTarget);