ActionScript 3.0 事件處理模型

ActionScript 3.0 所引用的單一事件處理模型是用來取代舊版 ActionScript 所使用的事件處理機制。這個新的事件模型是以「文件物件模型第 3 層事件規格」(Document Object Model (DOM) Level 3 Events Specification) 為基礎。

新的規格對熟悉使用 ActionScript 2.0 addListener() 方法的開發人員而言,將有助於他們瞭解 ActionScript 2.0 事件偵聽程式模型與 ActionScript 3.0 事件模型之間的差異。下列清單將說明這兩個事件模型之間主要的不同點:

  • 如果要在 ActionScript 2.0 中加入事件偵聽程式,在特定情況下請使用 addListener() ,其它情況下則使用 addEventListener() ,而在 ActionScript 3.0 中,請一律使用 addEventListener()

  • ActionScript 2.0 不使用事件流程,也就是只有廣播事件的物件才能呼叫 addListener() 方法,而在 ActionScript 3.0 中,只要是屬於事件流程的任何物件都可以呼叫 addEventListener() 方法。

  • 在 ActionScript 2.0 中,事件偵聽程式可以是函數、方法或物件,而在 ActionScript 3.0 中,只有函數或方法可以做為事件偵聽程式。

  • ActionScript 3.0 已不再支援 on( event ) 語法,因此您不能將 ActionScript 事件程式碼附加至影片片段。您只能使用 addEventListener() 加入事件偵聽程式。

    下列範例會偵聽 Button 組件 aButton 上的 MouseEvent.CLICK 事件,藉以說明基本的 ActionScript 3.0 的事件處理模型:

    aButton.addEventListener(MouseEvent.CLICK, clickHandler); 
    function clickHandler(event:MouseEvent):void { 
    trace("clickHandler detected an event of type: " + event.type);  
    trace("the event occurred on: " + event.target.name);  
    }

    如需有關 ActionScript 3.0 事件處理的詳細資訊,請參閱「ActionScript 3.0 程式設計」。如需有關組件之 ActionScript 3.0 事件處理的詳細資訊,請參閱 處理事件