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 事件處理的詳細資訊,請參閱
處理事件
。
|
|
|