我有一个冒泡事件,可以激活根类中的事件。从根类我添加一个对象,该对象想要使用激活冒泡事件的对象的属性。我用这段代码做到了这一点:
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传递时,目标对象变为静态。
那么还有另一种方法来冒泡对象或其属性吗?或者还有其他方法可以达到这种效果吗?
答案 0 :(得分:0)
不是将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);
}