Actionscript 3 冒泡的对象或属性?

Actionscript 3 冒泡的对象或属性?,actionscript-3,events,event-bubbling,Actionscript 3,Events,Event Bubbling,我有一个冒泡事件,它激活根类中的一个事件。我从根类添加了一个对象,该对象希望使用激活冒泡事件的对象的属性。我使用以下代码执行此操作: public function addInfoWindow(e:Event):void { dockTarget = e.target as DisplayObject; infoWindow = new InfoWindow(); addChild(infoWindow); infoWindow.setContent(dockTa

我有一个冒泡事件,它激活根类中的一个事件。我从根类添加了一个对象,该对象希望使用激活冒泡事件的对象的属性。我使用以下代码执行此操作:

public function addInfoWindow(e:Event):void
{
    dockTarget = e.target as DisplayObject;
    infoWindow = new InfoWindow();
    addChild(infoWindow);
    infoWindow.setContent(dockTarget.x, dockTarget.y, dockTarget._id, dockTarget._name, dockTarget._description);
}
x和y值可以很好地传递,但是通过属性_id、_name和_description,我可以“通过静态类型DisplayObject的引用访问可能未定义的属性_id”。错误

我假设当我将事件目标作为displayObject传递时,目标对象变成静态的


那么,有没有其他方法可以对对象或其属性进行冒泡呢?或者是否有其他方法可以实现此效果?

将e.target作为DisplayObject传递,而不是作为Object传递

public function addInfoWindow(e:Event):void
{
    dockTarget = e.target as Object;
    infoWindow = new InfoWindow();
    addChild(infoWindow);
    infoWindow.setContent(dockTarget.x, dockTarget.y, dockTarget._id, dockTarget._name, dockTarget._description);
}

您可能需要检查dockTarget是否是您期望的对象。另外,您将eventlistener添加到哪里?如果是dockTarget,也许你想使用e.currentTarget?你可能想用dockTarget.hasOwnProperty(“u id”)检查dockTarget是否有属性id等。它得到了正确的对象,并且有属性id。不过我最终解决了这个问题。我没有使用displayObject,而是使用object。当强制转换到
对象
时,就像强制转换到
MovieClip
一样,如果
e.target
是一个类,通常最好先通过
如果(e.target是一个类){…}
查询它的类型,这样您就可以访问
OneClass
类的属性,等等。如果您扩展的不是
MovieClip
,例如,如果您不需要使用本地时间线,那么这种方法尤其有效。