我正在构建此组件,并且依靠 onKeyDown
处理程序中的 event.key
值来允许/禁止某些输入。
文档:
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
在 Chrome、Edge、Firefox、Safari 等上仍为 ArrowRight
?或者我应该使用某种key
代码值?
最佳答案
Here您拥有 w3.org 中的所有键码
,这是跨浏览器的。这些是您要使用的键码。您可以输入 arrowLeft、right 或 Backspace 等来查找该键对应的键值
。
这个工具非常方便,因此您可以将此链接保存在某处。
关于javascript - "KeyboardEvent.key"值跨浏览器一致吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61235770/