Я создаю этот компонент и полагаюсь на значения event.key
в обработчике onKeyDown
, чтобы разрешить / запретить некоторые входные данные.
DOCS:
https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values
const ALLOWED_KEYS = [
"Ctrl", "Meta", "Shift","Home", "End",
"Backspace", "Delete",
"ArrowLeft", "ArrowRight", "Tab"
];
// ....
function onKeyDown(event) {
if (ALLOWED_KEYS.indexOf(event.key) >= 0) {
console.log("Allowed...");
}
else {
event.preventDefault();
console.log("NOT allowed...");
}
}
Согласны ли эти имена в разных браузерах? Могу ли я быть уверен, что ArrowRight
будет ArrowRight
на Chrome, Edge, Firefox, Safari и др. c? Или я должен использовать какое-то кодовое значение key
?