При KeyboardEvent
пожар можете да тествате кой бутон е бил натиснат, защото това събитие съдържа информация, срещу която можете да напишете логика.
document.addEventListener("keydown", function(event) ( console.log(event.which); ))
Например, като натиснете „a“, ще получите 65
. Очевидно е най-добре да напишете логика, срещу която, тъй като keyCode и charCode са сложни:
Свойството event.which нормализира event.keyCode и event.charCode. Препоръчително е да гледате event.which за въвеждане на клавишни клавиши.
И:
При събитие при натискане на клавиш, стойността на Unicode на натиснатия клавиш се съхранява в свойството keyCode или charCode, никога в двете. Ако натиснатият бутон генерира символ (напр. „А“), 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 в keydown | event.which при натискане на клавиш |
а | 65 | 97 |
б | 66 | 98 |
° С | 67 | 99 |