處理顯示物件的事件

Flash Player 9 以及更新的版本,Adobe AIR 1.0 以及更新的版本

DisplayObject 類別是繼承自 EventDispatcher 類別,也就是說,每一個顯示物件都可以完全參與事件模型 (請參閱 處理事件 )。每一個顯示物件都可以使用其 addEventListener() 方法 (繼承自 EventDispatcher 類別) 以偵聽特定事件,但只有在偵聽物件屬於該事件的事件流程時才能使用。

當 Flash Player 或 AIR 傳送事件物件時,該事件物件會從 Stage 傳送至事件發生的顯示物件,然後再回到 Stage。例如,如果使用者在名為 child1 的顯示物件上按一下,Flash Player 會從 Stage 傳送事件物件,一直沿著顯示清單階層架構往下傳送到 child1 顯示物件。

事件流程在概念上可分成三個階段,如下列圖例所示:

<事件流程的三個階段>

如需詳細資訊,請參閱 處理事件

使用顯示物件事件時心中要謹記一個重點,就是當顯示物件從顯示清單移除時,事件偵聽程式對是否自動從記憶體中移除顯示物件 (遭到回收) 所能產生的影響。若顯示物件含有訂閱為其事件之偵聽程式的物件,則即使自顯示清單中移除該顯示物件,也不會自記憶體中移除,因為它仍將具有這些偵聽程式物件的參考。如需詳細資訊,請參閱 管理事件偵聽程式