Руководство по actionscript. часть 4, стр. 022
Предположим, что у нас есть экземпляр класса Sprite — container, который содержит объект TextField — child:
var container:Sprite = new Sprite( ); var chiId:TextField = new TextField( ): child. text = «click here»: chiId. autoSize = TextFieldAutoSize. LEFT; contai ner. addChiIdCchiId):
Предположим также, что у нас есть три функции-приемника: containerClickLis tenerOne ( ), containerClickListenerTwo ( ) и childClickListener ( ). Регистрируем функции containerClickListenerOne ( ) и containerClic kListenerTwo ( ) в объекте container для получения уведомлений о возникновении события MouseEvent. CLICK в фазе захвата:
container. addEventListener(MouseEvent. CLICK,
contai nerCli ckLi stenerOne. true);
contai ner. addEventLi stener(MouseEvent. CLICK,
contai nerCli ckLi stenerTwo, true):
После этого регистрируем функцию childClickListener ( ) в объекте chi Id для уведомлений о возникновении события MouseEvent. CLICK в фазе получения:
child. addEventLi stener(MouseEvent. CLICK, chi1dCli ckLi stener, false);
В обычной ситуации, когда пользователь щелкает кнопкой мыши на объекте child, вызываются все три приемника события: два в фазе захвата и один в фазе получения. Если тем не менее функция containerClickListenerOne ( ) поглотит событие путем вызова метода stopImmediatePropagation ( ), ни containerClickLi stenerTwo ( ), ни childClickListener ( ) вызваны не будут.