Руководство по actionscript. часть 4, стр. 029
Как только для данного события будет установлена цепочка диспетчеризации, она останется неизменной до окончания этого процесса диспетчеризации.
В листинге 21.4 представлен код для приведенного сценария в контексте тестового класса DisappearingTextField. В этом листинге экземпляр пользовательского класса DisappearingTextField (подкласс класса Sprite) играет роль объекта Sprite из описанного сценария.
Листинг 21.4. Неизменяемая цепочка диспетчеризации события
package { import flash. display.*; import flash. events.*; import flash. text.*;
public class DisappearingTextField extends Sprite { private var textField.-TextField; public function DisappearingTextField ( ) {
// Создаем объект TextField
textField = new TextField( );
textField. text = «Click here»;
textField. autoSize = TextFieldAutoSize. LEFT;
// Добавляем объект TextField в объект DisappearingTextField addChild(textField);
// Регистрируем приемник в экземпляре класса Stage для событий // MouseEvent. CLICK
stage. addEventLi stener(MouseEvent. CLICK, staged ickListener, true);
// Чтобы доказать, что объект TextField получает уведомление
// о возникновении события MouseEvent. CLICK даже после того, как он
// будет удален из данного экземпляра класса DisappearingTextField,
// регистрируем приемник в объекте TextField для событий
// MouseEvent. CLICK
textFi eld. addEventLi stener(MouseEvent. CLICK, textFieldCli ckLi stener);
}
// Эта функция выполняется, когда пользователь щелкает кнопкой мыши
// на любом объекте в списке отображения
private function stageClickListener (e:MouseEvent):void {
// Если щелкнули кнопкой мыши на объекте TextField…