Actionscript 3 AS3中的焦点问题

Actionscript 3 AS3中的焦点问题,actionscript-3,flash,focus,textfield,Actionscript 3,Flash,Focus,Textfield,我在tlftextfield中有一个默认文本,当第一次(!)单击它以输入自己的文本时,该文本将被删除。但是,当我将函数附加到中的FocusEvent.focus_时,textfield会失去焦点。这就是我目前的情况: function clearField(event:FocusEvent) { if (event.currentTarget.text == defaultText[event.currentTarget.name]) { event.currentTar

我在tlftextfield中有一个默认文本,当第一次(!)单击它以输入自己的文本时,该文本将被删除。但是,当我将函数附加到中的FocusEvent.focus_时,textfield会失去焦点。这就是我目前的情况:

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);

我这里缺少什么?

您正在使用交互管理器(
ISelectionManager
)的
setFocus()
方法。请注意,此方法用于在包含选定文本的容器上设置焦点

此方法专门作用于通过鼠标选择的文本。在您的场景中,没有选定的文本

因此,只需使用。就你而言:

stage.focus = InteractiveObject(event.currentTarget); 

谢谢你,苏尼尔。但是,这也不起作用:“将具有静态类型对象的值隐式强制到可能不相关的类型flash.display:InteractiveObject。”当我将其转换为交互式对象时,它会运行(编译时没有错误),但也不起作用。有什么建议吗?啊,我的错!您肯定需要将
event.currentTarget
强制转换为
交互对象
。为了帮助理解为什么在那之后它不工作,您能确认什么是
event.currentTarget
?和/或显示如何连接事件侦听器?最后,如果您有对文本字段的引用,您可以尝试将其作为焦点:
stage.focus=myTextField
。感谢Sunil,非常感谢您的持续支持。我已经按照您的建议更改了代码,但仍然没有成功。您可以在线查看swf,并等待出现一个棕色笔记本,上面显示“DifferentialsDiagnose?”和“Untersunchen?”。这些是有问题的文本字段。当你点击它们时,文本消失,但焦点不正确,因此你必须再次点击才能写出奇怪的东西。