|
ActionScript 3.0 introducerar en enda modell för händelsehantering som ersätter de olika mekanismerna för händelsehantering som finns i tidigare versioner av ActionScript. Den nya händelsemodellen bygger på Document Object Model (DOM) Level 3-händelsespecifikationen.
För utvecklare med erfarenhet av att använda metoden
addListener()
i ActionScript 2.0 kan det vara till hjälp att nämna skillnaderna mellan händelseavlyssnarmodellen i ActionScript 2.0 och händelsemodellen i ActionScript 3.0. I listan nedan beskrivs några av de större skillnaderna mellan de två händelsemodellerna:
-
Om du vill lägga till händelseavlyssnare i ActionScript 2.0 använder du
addListener()
i vissa fall och
addEventListener()
i andra. I ActionScript 3.0 använder du alltid
addEventListener()
.
-
Det finns inget händelseflöde i ActionScript 2.0, vilket betyder att metoden
addListener()
enbart kan anropas för objektet som sänder händelsen. I ActionScript 3.0 kan metoden
addEventListener()
anropas för alla objekt som tillhör händelseflödet.
-
I ActionScript 2.0 kan händelseavlyssnare vara funktioner, metoder eller objekt. I ActionScript 3.0 kan bara funktioner och metoder vara händelseavlyssnare.
-
Syntaxen
on(
event
)
fungerar inte längre i ActionScript 3.0, så du kan inte bifoga ActionScript-händelsekod till ett filmklipp. Du kan bara använda
addEventListener()
för att lägga till en händelseavlyssnare.
Följande exempel, som avlyssnar en
MouseEvent.CLICK
-händelse för en Button-komponent som heter
aButton
, illustrerar den grundläggande händelsehanterarmodellen i 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);
}
Mer information om händelsehantering i ActionScript 3.0 finns i
Programmering med ActionScript 3.0.
Mer information om händelsehantering för komponenter i ActionScript 3.0 finns i
Hantera händelser
.
|
|
|