
, улыбнула...
Это минимальный код для повторения "ошибки" (ошибка в кавычках, т.к. это может быть не ошибка, а просто не понимание, того, как должно работать правильно).
Для повторения, нужно навести мышь на квадратики, на оранжевый или на зеленый, нажать на правую кнопку мыши, и посмотреть на вывод трейсов.

Код AS3:
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.geom.Point;
public class Main extends Sprite
{
public function Main() {
if (stage) addedToStageListener();
else addEventListener(Event.ADDED_TO_STAGE, addedToStageListener);
}
private function addedToStageListener(event:Event = null):void {
var main_container:Sprite = new Sprite();
addChild(main_container);
main_container.graphics.beginFill(0);
main_container.graphics.drawRect(0, 0, 60, 60);
main_container.graphics.endFill();
main_container.name = 'main_container';
main_container.y = main_container.x = 100;
var internal_container:Sprite = new Sprite();
internal_container.addEventListener(MouseEvent.CLICK, clickListener);
internal_container.name = 'internal_container';
main_container.addChild(internal_container);
main_container.addEventListener(MouseEvent.ROLL_OVER, rollListener);
internal_container.addEventListener(MouseEvent.ROLL_OVER, rollListener);
main_container.addEventListener(MouseEvent.ROLL_OUT, rollListener);
internal_container.addEventListener(MouseEvent.ROLL_OUT, rollListener);
var child_one:Sprite = new Sprite();
child_one.graphics.beginFill(0x00FF00);
child_one.graphics.drawRect(10, 10, 40, 40);
child_one.graphics.endFill();
child_one.name = 'child_one';
var child_two:Sprite = new Sprite();
child_two.graphics.beginFill(0xFF8000);
child_two.graphics.drawRect(20, 20, 20, 20);
child_two.graphics.endFill();
child_two.name = 'child_two';
internal_container.addChild(child_one);
internal_container.addChild(child_two);
}
private function clickListener(event:Event):void {
var obj:Sprite = event.target as Sprite;
var p:Point = obj.localToGlobal(new Point(0, 0));
stage.addChild(obj);
obj.mouseEnabled = false;
obj.x = p.x;
obj.y = p.y;
}
private function rollListener(event:MouseEvent):void {
trace(event.type + ':' + event.target.name);
}
}
}