Класс DisplayObject наследует классу EventDispatcher. Это означает, что каждый экранный объект может в полной мере участвовать в модели события (описанной в разделе «
Обработка событий
»). Каждый экранный объект может использовать свой метод
addEventListener()
, унаследованный из класса EventDispatcher, для ожидания определенного события, но лишь в том случае, если этот объект принадлежит к потоку событий для этого события.
Когда Flash Player или AIR отправляет объект события, этот объект события возвращается в рабочую область к экранному объекту, где это событие произошло. Например, если пользователь щелкает экранный объект
child1
, Flash Player отправляет объект события из рабочей области с помощью иерархии списка отображения вниз к экранному объекту
child1
.
Поток событий делится на три фазы, как показано на этой диаграмме:
Дополнительные сведения см. в разделе «
Обработка событий
».
При работе с событиями экранных объектов необходимо учитывать влияние, которое прослушиватели событий могут иметь на то, удаляются ли экранные объекты автоматически из памяти («сбор мусора») при удалении из списка отображения. Если у экранного объекта есть объекты, зарегистрированные в качестве прослушивателей его событий, то он не будет удаляться из памяти даже при удалении из списка отображения, поскольку у него все равно будут иметься ссылки на объекты прослушивателя. Дополнительные сведения см. в разделе «
Управление прослушивателями событий
».