JS властивість Event.code
Загальний опис
code — це властивість об'єкта KeyboardEvent, яка повертає унікальний ідентифікатор для кожної клавіші на клавіатурі, незалежно від символу, який ця клавіша представляє. На відміну від key, яка визначає символ натиснутої клавіші, code ідентифікує фізичне розташування клавіші на клавіатурі. Наприклад, незалежно від того, чи натискається ліва чи права клавіша Shift, code поверне відповідно ShiftLeft або ShiftRight.
Ця властивість особливо корисна для обробки гарячих клавіш та створення кастомних комбінацій клавіш у додатках. Наприклад, для створення різних дій на основі того, яка саме клавіша Alt, Ctrl або Shift була натиснута, code є надійним вибором, оскільки воно не змінюється в залежності від розкладки клавіатури. Слід зазначити, що code повертає рядок, який відповідає назві клавіші, наприклад, KeyA, ArrowUp, Space, що забезпечує легкість у читанні та розумінні коду.
document.addEventListener('keydown', function(event) {
console.log(event.code); // Виведе код натиснутої клавіші, наприклад, "KeyA"
});
Ця властивість не залежить від мови та розкладки клавіатури, тому event.code є однаковим для будь-якої клавіатури, що забезпечує зручність в інтернаціональних проектах. Це також означає, що якщо, наприклад, натиснути клавішу "Q" на клавіатурі QWERTY та AZERTY, code поверне значення KeyQ для обох.
| Порада: |
|
| Порада: | Для кращої сумісності та обробки дій клавіатури перевіряйте |
| Порада: | Пам'ятайте, що |
Синтаксис
event.code
Значення
Return
Переглядачі
| Переглядач | |||||
|---|---|---|---|---|---|
48 |
38 |
10.1 |
35 |
79 |
| Переглядач | ||||
|---|---|---|---|---|
48 |
48 |
38 |
10.3 |
| Переглядач | ||
|---|---|---|
- |
- |
Приклади
У цьому прикладі користувач може обрати між зміною кольору фону та зміною тексту у блоці resultBox. При натисканні комбінацій Ctrl + A або Ctrl + B виконується відповідна дія, залежно від вибраної опції. Ctrl + A запускає зміну кольору або тексту, а Ctrl + B повертає все до початкового стану. Це дозволяє на практиці побачити, як KeyboardEvent -> code може використовуватися для створення інтуїтивно зрозумілих гарячих клавіш.
Цей приклад відслідковує натискання стрілок "вгору" та "вниз", що корисно для навігації в інтерфейсі користувача або ігрових контролерів. Завдяки code ми можемо гарантувати правильне оброблення незалежно від мови клавіатури.
document.addEventListener('keydown', function(event) {
if (event.code === 'ArrowUp' || event.code === 'ArrowDown') {
console.log(`Натиснуто клавішу ${event.code}`);
}
});
Цей приклад визначає комбінацію клавіш "Ctrl + A", яка може бути використана для виконання кастомної дії, як-от вибір всіх елементів на сторінці. Завдяки code ця комбінація спрацьовує навіть при різних мовних розкладках клавіатури, забезпечуючи узгодженість у користувацькому досвіді.
document.addEventListener('keydown', function(event) {
if (event.code === 'KeyA' && event.ctrlKey) {
console.log('Виконується спеціальна дія для Ctrl + A');
}
});
