TextField is not DisplayObjectContainer
そこまでは「へ~スゴイね」という話なんだけど、ここからが問題。
取得したDisplayObjectのparentを調べるとTextFieldクラスが帰ってきます。たとえばこんな感じ
var loader:Loader = tf.getImageReference("img") as Loader ; loader.load(new URLRequest("img.jpg")) function comp(e:Event):void { var loaderInfo:LoaderInfo = e.target as LoaderInfo trace(loaderInfo.content.parent.parent); //[object TextField] trace(loader.parent); //[object TextField] }と言うかんじでTextFieldが帰ってくるが、コレが解せない。だって、DisplayObject.parentと言うプロパティはDiplayObjectContainerの筈だ。そしてTextFieldはDisplayObjectContainerは継承していない。
http://livedocs.adobe.com/flex/201_jp/langref/flash/text/TextField.html#propertySummary
http://livedocs.adobe.com/flex/201_jp/langref/flash/display/DisplayObject.html#parent
仮に
DisplayObjectContainer(textField)と書くとコンパイルエラーが帰ってくる。
SWFの仕様書とか読めば何か書いてあるのかもしれないけど、いや~不思議だ。