Functia addEventListener
AddEventListener este o functie destul de des utilizata in codul de zi cu zi al unui programator flash, dar are cativa parametri pe care i-am ignorat la inceput si mi-a fost destul de greu sa ii inteleg cand m-am uitat pentru prima oara pe explicatiile date in documentatie.
O scurta descriere a functiei addEventListener ar suna cam asa: Functia ataseaza unui obiect un “listener” care va apela o functie cand un anumit eveniment este declansat.
objTest.addEventListener(MouseEvent.MOUSE_DOWN, onClickHandler);
Exemplu de mai sus ataseaza obiectului objTest un “listener” care, atunci cand apasam pe butonul stanga al mouse-ului pe obiectul objTest, apeleaza functia onClickHandler, in interiorul caruia se poate trata sau nu evenimentul. Primul parametru este de tip String si defineste tipul evenimentului, iar al doilea este de tip Function si este reprezentat de o functie care este apelata cand se declanseaza evenimentul.
In afara de primii 2 parametri, care sunt si obligatorii, mai exista inca 3 care au valori prestabilite, si pot fi, sau nu, mentionati in apelul functiei.
Al 3-lea parametru, numit si useCapture, este de tip Boolean si are valoarea initiala false. Pentru a intelege rolul acestui parametru trebuie mai intai sa intelegem care sunt fazele prin care trece un eveniment. De la declansare, un eveniment trece prin 3 faze pe care le voi scrie in ordine cronologica: bubbling phase, target phase, capturing phase.
Daca valoarea parametrului useCapture este false (valoare initiala), atunci evenimentul va fi capturat in capturing phase, iar daca useCapture este true evenimentul va fi capturat in bubbling phase. Daca nu ai inteles explicatia, uita-te la urmatoarele exemple:
Exemplul 1:
addEventListener(MouseEvent.MOUSE_DOWN, onClickHandler1, false); objTest.addEventListener(MouseEvent.MOUSE_DOWN, onClickHandler2); function onClickHandler1(e:MouseEvent):void{ trace("eveniment declansat pe scena") } function onClickHandler2(e:MouseEvent):void{ trace("eveniment declansat in obiectul objTest") } //rezultat: //eveniment declansat in obiectul objTest //eveniment declansat pe scena
Exemplul 2:
addEventListener(MouseEvent.MOUSE_DOWN, onClickHandler1, true); objTest.addEventListener(MouseEvent.MOUSE_DOWN, onClickHandler2); function onClickHandler1(e:MouseEvent):void{ trace("eveniment declansat pe scena") } function onClickHandler2(e:MouseEvent):void{ trace("eveniment declansat in obiectul objTest") } //rezultat: //eveniment declansat pe scena //eveniment declansat in obiectul objTest
Pentru putimii 2 parametri, citeste Priority & useWeakReference.




One Trackback
[...] & useWeakReference sunt ultimii 2 parametri ai functiei addEventListener. Uita-te pe Functia addEventListener inainte de a incepe sa citesti acest [...]