Όταν μια KeyboardEvent
πυρκαγιά, μπορείτε να ελέγξετε ποιο πλήκτρο πατήθηκε επειδή το συμβάν περιέχει πληροφορίες στις οποίες μπορείτε να γράψετε λογική.
document.addEventListener("keydown", function(event) ( console.log(event.which); ))
Για παράδειγμα, πατώντας "a", θα πάρετε 65
. Προφανώς είναι καλύτερο να γράφετε λογική με την οποία, καθώς τα keyCode και charCode είναι περίπλοκα:
Το συμβάν event.which ομαλοποιεί το event.keyCode και το event.charCode. Συνιστάται να παρακολουθείτε το συμβάν. Για είσοδο πλήκτρου πληκτρολογίου.
Και:
Σε ένα συμβάν συμπίεσης πλήκτρων, η τιμή Unicode του πατημένου πλήκτρου αποθηκεύεται είτε στην ιδιότητα KeyCode είτε στον charCode, ποτέ και στα δύο. Εάν το πάτημα του πλήκτρου δημιουργεί έναν χαρακτήρα (π.χ. «a»), ο κωδικός charCode έχει οριστεί στον κωδικό αυτού του χαρακτήρα, με σεβασμό στην κεφαλαία. (δηλ. charCode λαμβάνει υπόψη εάν το πλήκτρο shift είναι πατημένο). Διαφορετικά, ο κωδικός του πατημένου πλήκτρου αποθηκεύεται στο keyCode.
Εργαλείο δοκιμών
Δείτε τον ελεγκτή Pen event.keyCode του Chris Coyier (@chriscoyier) στο CodePen.
Τιμές κλειδιού
Εδώ είναι ένας πίνακας που περιέχει τις τιμές από event.which
.
|
|
|
Ο Zell Liew παρατήρησε ότι 3 από αυτούς τους κωδικούς ήταν διαφορετικοί στον Firefox από τα υπόλοιπα προγράμματα περιήγησης
;
είναι 59 στον Firefox αλλά 186 σε άλλα προγράμματα περιήγησης.=
είναι 61 στον Firefox αλλά 187 σε άλλα προγράμματα περιήγησης.-
είναι 173 στον Firefox αλλά 189 σε άλλα προγράμματα περιήγησης.
Σημαντική σημείωση: Αυτές οι τιμές του κωδικού πρόσβασης ισχύουν μόνο κατά τη διάρκεια keydown
και σε keyup
συμβάντα. Σε Mac, τα keypress
συμβάντα σας δίνουν ένα εντελώς διαφορετικό σύνολο κωδικών.
Για παράδειγμα:
Κλειδί | event.which στο κλειδί | event.which στο πάτημα του πλήκτρου |
ένα | 65 | 97 |
σι | 66 | 98 |
ντο | 67 | 99 |