Obiectele de ecran care moștenesc modele de interacțiune din clasa InteractiveObject pot răspunde la evenimentele tastaturii. Pentru aceasta, se folosesc ascultători de evenimente. De exemplu, puteți pune un ascultător de evenimente în spațiul de lucru pentru a asculta și a răspunde acțiunilor de la tastatură. Mai jos este codul în care ascultătorul evenimentului surprinde o apăsare de tastă și se afișează numele și codul cheie:
Unele chei, de exemplu Ctrl, generează evenimente chiar dacă nu corespund unor glifuri.
În exemplul anterior, ascultătorul evenimentului captează acțiunile de tastatură în întreg spațiul de lucru. De asemenea, puteți scrie un ascultător de evenimente pentru un anumit obiect afișat în spațiul de lucru. Acest ascultător al evenimentului va fi sunat când focalizarea va trece la obiect.
În exemplul de mai jos, intrările de taste sunt afișate pe panoul de ieșire numai atunci când sunt comise în interiorul instanței TextField. Ținerea apăsată a tastei Shift modifică temporar culoarea cadrului obiectului TextField în roșu.
În acest cod, există o instanță TextField numită tf în spațiul de lucru.
De asemenea, clasa TextField răspunde la evenimentul textInput. care poate fi ascultat atunci când utilizatorul introduce textul. Pentru mai multe informații, consultați capturarea textului.
Explicarea codurilor de taste și de caractere
Pentru a determina ce tastă este apăsată și pentru a efectua acțiunile corespunzătoare, se folosesc proprietățile keyCode și charCode ale evenimentului tastaturii. Proprietatea keyCode este o valoare numerică care corespunde valorii cheii de pe tastatură. Proprietatea charCode este valoarea numerică a acestei chei în aspectul actual al tastaturii. (Setul de caractere implicit este UTF-8 cu suport ASCII.)
Principala diferență dintre codul cheie și codul de caractere este că valoarea codului cheie reprezintă o cheie specifică de pe tastatură ("1" de pe tastatura laterală diferă de "1" în rândul superior, dar cheia cu care "1" și "!" , una și aceeași), iar valoarea codului simbolului este un simbol specific ("R" și "r" sunt caractere diferite).
Notă. Pentru o listă de chei și valorile corespunzătoare ale caracterelor caracterului ASCII, consultați clasa flash.ui.Keyboard în referința limbajului ActionScript.
Conectarea tastelor cu codurile de taste depinde de dispozitiv și de sistemul de operare. Din acest motiv, nu utilizați atribuirea tastelor pentru a invoca acțiuni. În schimb, este mai bine să utilizați valorile predefinite ale constantelor clasei de tastatură pentru a face referire la proprietățile cheie cheie de care aveți nevoie. De exemplu, în loc să utilizați tasta "fierbinte" Shift, utilizați constanta Keyboard.SHIFT (așa cum se arată în exemplul anterior).
Explicație prioritară pentru tastatură
Ca și în cazul altor evenimente, secvența evenimentelor de tastatură este determinată de ierarhia obiectelor afișate și nu de ordinea în care sunt atribuite în cod codul addEventListener ().
Să presupunem că ați pus caseta de text tf într-un clip video numit container și ați adăugat un ascultător de evenimente pentru evenimentele tastaturii în ambele cazuri:
Deoarece ascultătorul este instalat atât pe câmpul de text cât și pe containerul părinte, funcția reportKeyDown () este apelată de două ori pentru fiecare tastă din câmpul TextField. Rețineți că de fiecare dată când apăsați o tastă, câmpul de text expediază evenimentul înainte ca clipul video al containerului să o facă.
Sistemul de operare și browserul web gestionează evenimentele înainte de playerul Adobe Flash sau AIR. De exemplu, dacă apăsați Ctrl + W în Internet Explorer, fereastra browserului se închide înainte ca oricare din fișierele SWF pe care le conține să trimită evenimentul tastaturii.