Actionscript 3 AS3:如何从后台删除textfield?

Actionscript 3 AS3:如何从后台删除textfield?,actionscript-3,Actionscript 3,我对ActionScript3有问题。 在舞台上,我有一个名为“text0”的texfield,当我试图通过3 writing removeChild(text0)删除它时,flash给了我一个错误(错误#2025)。我总是使用这种语法删除MovieClip符号,为什么它似乎不适用于文本字段?您需要在要删除的对象的父对象上调用removeChild 如果不清楚,可以发布更详细的代码。您需要从其父字段中删除文本字段。如果它位于名为myMovieClip的movieClip中,并且您的代码位于主时间

我对ActionScript3有问题。
在舞台上,我有一个名为“text0”的texfield,当我试图通过3 writing removeChild(text0)删除它时,flash给了我一个错误(错误#2025)。我总是使用这种语法删除MovieClip符号,为什么它似乎不适用于文本字段?

您需要在要删除的对象的父对象上调用
removeChild


如果不清楚,可以发布更详细的代码。

您需要从其父字段中删除文本字段。如果它位于名为
myMovieClip
的movieClip中,并且您的代码位于主时间线上,请执行
myMovieClip.removeChild

如果文本字段位于主阶段,则在主时间线上写入
this.removeChild

编辑

如果代码和文本字段处于同一级别,则
this.removeChild

或者您可以尝试:

text0.parent.removeChild(text0);

似乎您正试图从没有textfield的容器中删除textfield。尝试跟踪家长,以确保您做得很好,并且您的目标是正确的家长

trace(text0.parent);

您还可以发布一些代码,这样我们就可以帮助您了解一些特定的信息,而不仅仅是给您提供理论。

错误信号表明您正试图使用removeChild删除DisplayObject,而removeChild显然不是执行此代码的DisplayObjectContainer的子级

解决此问题的一种方法是检查您试图删除的对象是否实际上是使用contains的容器的子对象。您正在为要删除的某些对象(submitButton和saveinfoButton)执行此操作,而不是为其他一些对象执行此操作


尝试将removeChild调用包装为txt,以检查这些显示对象是否在容器中。

这是错误的,因为它需要
text0
与代码处于同一级别,因此调用
This.removeChild
是可能的,应该在这种情况下使用。我理解,您希望展示一种不同的方法,但从代码质量的角度来看,它既冗余又错误。它提供的答案并不比普通的
removeChild
更好,因为它不可能以这种方式工作,但不能以另一种方式工作。我同意,如果可能,最好使用this.removeChild。正如您所说的,我只是想展示一个不同的方法,以防TextField突然不在主舞台上,而是错误地出现在某些MC中。或者干脆
removeChild(text0)
这个
是不必要的),但前提是它是在主文档类中编写的。