package {
import flash.display.*;
import flash.events.*;
publicclass Main extends Sprite {
public function Main() {
var container:Sprite = new Sprite( );
var child:Sprite = new Sprite( );
var grandchild:Sprite = new Sprite( );
container.addEventListener(Event.ADDED, addedListener);
container.addEventListener(Event.REMOVED, removedListener);
container.addChild(child);
child.addChild(grandchild);
stage.addChild(container);
child.removeChild(grandchild);
stage.removeChild(container);
}
private function addedListener (e:Event):void {
if (e.eventPhase != EventPhase.AT_TARGET) {
trace("container has a new descendant: " + e.target);
} else {
trace("container was added to a new parent: "
+ DisplayObject(e.target).parent);
}
}
private function removedListener (e:Event):void {
if (e.eventPhase != EventPhase.AT_TARGET) {
trace("a descendant was removed from container: " + e.target);
} else {
trace("container was removed from its parent: "
+ DisplayObject(e.target).parent);
}
}
}
}