Получил это от Сенокуляр. Я думаю, что это относится к этой теме, по крайней мере, это помогло мне. То, что предложил jedierikb, кажется таким же, но немного неполным.
Предотвращение распространения событий
Если вы хотите предотвратить дальнейшее распространение события, вы можете остановить его в слушателе событий, используя stopPropagation () (flash.events.Event.stopPropagation ()) или stopImmediatePropagation () (flash.events.Event .stopImmediatePropagation ()). Эти методы вызываются из объектов Event, передаваемых в прослушиватели событий, и по существу останавливают событие, по крайней мере, после этой точки.
stopPropagation не позволяет никаким объектам, находящимся за пределами тока, получать событие, и это может происходить в любой фазе события. stopImmediatePropagation делает то же самое, но также предпринимает дополнительный шаг, предотвращая появление дополнительных событий в пределах текущей цели, получающих событие. Поэтому, так как stopPropagation не позволяет родительскому элементу спрайта A получать событие, stopImmediatePropagation не позволяет родительскому элементу спрайта A, а также другим слушателям, слушающим спрайт A, получать событие.
Пример: переключение между использованием stopPropagation и stopImmediatePropagation
Код ActionScript:
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0x4080A0);
circle.graphics.drawCircle(50, 50, 25);
addChild(circle);
circle.addEventListener(MouseEvent.CLICK, clickCircle1);
circle.addEventListener(MouseEvent.CLICK, clickCircle2);
stage.addEventListener(MouseEvent.CLICK, clickStage);
function clickCircle1(evt:MouseEvent):void {
evt.stopPropagation();
// evt.stopImmediatePropagation();
trace("clickCircle1");
}
function clickCircle2(evt:MouseEvent):void {
trace("clickCircle2");
}
function clickStage(evt:MouseEvent):void {
trace("clickStage");
}
Нажмите на кружок и посмотрите, как событие останавливается с каждым методом. stopPropagation не позволяет сцене получить событие, а stopImmediatePropagation также не позволяет clickCircle2 распознать событие
нормальный выход
clickCircle1
clickCircle2
clickStage
выход StopPropagation
clickCircle1
clickCircle2
выход stopImmediatePropagation
clickCircle1