JS властивість Event.location
Загальний опис
location
— це властивість об'єкта KeyboardEvent
, яка визначає фізичне розташування натиснутої клавіші на клавіатурі. Вона повертає числове значення, яке описує, на якій частині клавіатури натиснута клавіша. Властивість корисна для визначення конкретної клавіші, коли є кілька варіантів тієї самої клавіші, таких як Shift
, Alt
, або Control
, розташованих як зліва, так і справа. Наприклад, лівий і правий Shift
мають однаковий код, але різні значення location
.
Значення location
можуть бути наступними:
0
(DOM_KEY_LOCATION_STANDARD
): клавіша є частиною основної секції клавіатури, як-от цифри або букви.1
(DOM_KEY_LOCATION_LEFT
): клавіша на лівій частині клавіатури (наприклад, лівийShift
).2
(DOM_KEY_LOCATION_RIGHT
): клавіша на правій частині клавіатури (наприклад, правийShift
).3
(DOM_KEY_LOCATION_NUMPAD
): клавіша на цифровій клавіатурі (наприклад, цифри на цифровому блоці).
Властивість location
дозволяє реалізувати специфічні функціональні можливості для клавіш залежно від їхнього розташування. Наприклад, можна використовувати її для розрізнення лівого і правого Control
, щоб надати їм різні функції.
document.addEventListener('keydown', (event) => {
if (event.location === 1) {
console.log('Ліва клавіша натиснута');
} else if (event.location === 2) {
console.log('Права клавіша натиснута');
}
});
Цей приклад відстежує, з якого боку клавіатури була натиснута клавіша Shift
, Control
або інші модифікатори, надаючи більше можливостей для управління взаємодією з клавіатурою. За допомогою цієї властивості ви можете реалізувати кастомні скорочення, враховуючи сторону натискання клавіші.
Порада: | Якщо ви розробляєте гру або програму з важливою підтримкою клавіатури, використовуйте |
Порада: | Розрізнення лівої та правої клавіш може бути корисним для додатків із глибокими можливостями налаштування. Наприклад, можна призначити різні команди для лівого та правого |
Порада: |
|
Синтаксис
event.location
Значення
Return
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
30 |
15 |
8 |
17 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
30 |
15 |
8 |
Переглядач | ||
---|---|---|
- |
- |
Приклади
Цей код відстежує натискання клавіш Shift
, Alt
та Control
, використовуючи location
, щоб відрізняти ліві, праві та центральні клавіші. Повідомлення з вказівкою на сторону клавіші виводиться в елементі output
, дозволяючи користувачу побачити результат. Це корисно для розробки інтерфейсів, де ліві та праві модифікатори мають різні функції.
У цьому прикладі відстежується, чи була натиснута цифра з цифрового блоку або основної клавіатури. Це може бути корисним для касових систем або додатків, які обробляють цифровий блок і основну клавіатуру окремо.
document.addEventListener('keydown', (event) => {
if (event.key >= '0' && event.key <= '9' && event.location === 3) {
console.log('Цифра з цифрового блоку:', event.key);
} else if (event.key >= '0' && event.key <= '9') {
console.log('Цифра з основної клавіатури:', event.key);
}
});
Цей приклад показує, як можна реалізувати різні функції залежно від того, з якої сторони натиснуто клавішу Shift
. Така логіка корисна для додатків, які використовують різні команди для лівого і правого Shift
.
document.addEventListener('keydown', (event) => {
if (event.key === 'Shift' && event.location === 1) {
console.log('Натиснуто лівий Shift: активація функції A.');
} else if (event.key === 'Shift' && event.location === 2) {
console.log('Натиснуто правий Shift: активація функції B.');
}
});