Если я правильно понимаю ваш вопрос, это вполне возможно. Итак, если у вас есть что-то вроде:
parent.addChild(new Child());
parent.addChild(new Child());
parent.addChild(new Child());
parent.addChild(new Child());
Тогда вы сможете привязать прослушиватель событий к родителю таким образом:
parent.addEventListener(MouseEvent.CLICK, handleClick);
и ваш обработчик должен выглядеть примерно так:
private function handleClick(e:MouseEvent) {
// cast the target of the event as the correct class
var clickedChild:Child = Child(e.target);
// Do whatever you want to do.
}
Вы также можете комбинировать это с аргументом useCapture
метода addEventListener, чтобы прикрепить событие на стороне захвата события, а не на пузырьковой стороне. А также используйте метод .stopPropagation()
в событии, чтобы остановить запуск других обработчиков событий ...
Но трудно сказать, нужно ли вам их использовать, не зная больше о том, что вы пытаетесь сделать. Но, надеюсь, это даст вам толчок в правильном направлении.