Руководство по actionscript. часть 4, стр. 003
Теперь предположим, что пользователь вводит некий текст в объект TextField, в результате чего среда Flash вынуждена выполнить диспетчеризацию события TextEvent. TEXT INPUT, получателем которого является объект TextField. Поскольку объект TextField является частью иерархии отображения, событие передается по цепочке диспетчеризации события. В первой фазе процесса (фазе захвата) уведомление о возникновении события сначала получает экземпляр класса Stage, а затем — экземпляр класса Sprite. Во второй фазе (фазе получения) уведомление о возникновении события получает сам объект TextField. Наконец, в третьей фазе процесса (фазе всплытия) уведомление о том, что получатель был уведомлен о возникновении события, сначала получает экземпляр класса Sprite, а затем — экземпляр класса Stage. Всего в процессе диспетчеризации события TextEvent. TEXT INPUT происходит пять уведомлений о возникновении события, как показано на рис. 21.2.
Экземпляр I класса Stagel
Рис. 21.1. Пример иерархии отображения
Фаза захвата
Уведомлен экземпляр класса Stage
Экземпляр класса Stagel
Уведомлен объект Sprite
Уведомлен экземпляр класса Stage
t
Объект Sprite
Уведомлен объект Sprite
А
Объект TextField
Уведомлен объект TextField
Фаза всплытия
Фаза получения
Рис. 21.2. Цепочка диспетчеризации для события TextEvent. TEXT_INPUT
Приемники событий и цепочка диспетчеризации событий
Как мы только что увидели, в процессе диспетчеризации события, получателем которого является некоторый отображаемый объект, отображаемые предки этого
объекта получают уведомление о возникновении события на фазе захвата и теоретически на фазе всплытия (если событие является всплывающим). Соответственно, при регистрации приемника в предке получателя события мы должны указать, когда вызывать этот приемник — в фазе захвата или в фазе всплытия.