Gestión de eventos de objetos de visualización

Flash Player 9 y posterior, Adobe AIR 1.0 y posterior

La clase DisplayObject hereda de la clase EventDispatcher. Esto significa que cada uno de los objetos de visualización puede participar completamente en el modelo de eventos (descrito en Gestión de eventos). Cada objeto de visualización puede utilizar su método addEventListener(), heredado de la clase EventDispatcher, para detectar un evento concreto, pero solamente si el objeto detector forma parte del flujo de dicho evento.

Cuando Flash Player o AIR distribuyen un objeto de evento, este realiza un viaje de ida y vuelta del escenario al objeto de visualización donde se produjo el evento. Por ejemplo, si un usuario hace clic en un objeto de visualización denominado child1, Flash Player distribuye un objeto de evento desde el escenario, y a través de la jerarquía de la lista de visualización, hasta el objeto de visualización child1.

El flujo del evento se divide conceptualmente en tres fases, tal y como se ilustra en el diagrama siguiente:

<Tres fases del flujo de eventos>

Para obtener más información, consulte Gestión de eventos.

Un aspecto importante que hay que tener en cuenta cuando se trabaja con eventos de objetos de visualización es el efecto que los detectores de eventos pueden tener sobre la eliminación automática de objetos de visualización de la memoria (recopilados como datos innecesarios) cuando se quitan de la lista de visualización. Si un objeto de visualización tiene objetos suscritos a sus eventos como detectores, dicho objeto de visualización no se eliminará de la memoria aunque se quite de la lista de visualización, porque seguirá teniendo referencias a esos objetos detectores. Para obtener más información, consulte Administración de detectores de eventos.