ActionScript 3.0 introduceert een enkel gebeurtenisafhandelingsmodel ter vervanging van de verschillende gebeurtenisafhandelingsmechanismen die in vorige versies van ActionScript bestonden. Het nieuwe gebeurtenismodel is gebaseerd op de Document Object Model (DOM) Level 3 Events Specification.
Voor ervaren ontwikkelaars die de methode
addListener()
in ActionScript 2.0 gebruiken, kan het handig zijn de verschillen aan te geven tussen het gebeurtenislistenermodel van ActionScript 2.0 en het gebeurtenismodel van ActionScript 3.0. In de volgende lijst worden enkele belangrijke verschillen tussen de twee gebeurtenismodellen beschreven:
-
U kunt gebeurtenislisteners in ActionScript 2.0 in sommige gevallen met
addListener()
en in andere gevallen met
addEventListener()
toevoegen, terwijl u in ActionScript 3.0 in alle gevallen
addEventListener()
gebruikt.
-
ActionScript 2.0 kent geen gebeurtenisstroom, dus de methode
addListener()
kan alleen worden aangeroepen op het object dat de gebeurtenis uitzendt, terwijl in ActionScript 3.0 de methode
addEventListener()
op elk object dat deel uitmaakt van de gebeurtenisstroom kan worden aangeroepen.
-
In ActionScript 2.0 kunnen gebeurtenislisteners functies, methoden of objecten zijn, terwijl in ActionScript 3.0 alleen functies of methoden gebeurtenislisteners kunnen zijn.
-
De syntaxis
on(
gebeurtenis
)
wordt niet meer ondersteund in ActionScript 3.0. Het is dus niet mogelijk een ActionScript-gebeurteniscode aan een filmclip te koppelen. U kunt
addEventListener()
alleen gebruiken om een gebeurtenislistener toe te voegen.
In het volgende voorbeeld, waarin naar een gebeurtenis
MouseEvent.CLICK
op een component Button met de naam
aButton
wordt geluisterd, wordt het basismodel voor gebeurtenisafhandeling van ActionScript 3.0 getoond:
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);
}
Raadpleeg
ActionScript 3.0 programmeren
voor meer informatie over gebeurtenisafhandeling van ActionScript 3.0. Zie
Gebeurtenissen afhandelen
voor meer informatie over gebeurtenisafhandeling van ActionScript 3.0 voor componenten.
|
|
|