javascript - “KeyboardEvent.key”值是否跨浏览器一致?
问题描述
我正在构建这个组件,我依赖处理程序event.key
中的值onKeyDown
来允许/禁止某些输入。
文档:
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 等平台上吗?或者我应该使用某种key
代码值?
解决方案
推荐阅读
- haskell - 我可以用“递归方案”“cata”来写“foldr”(或“foldMap”)吗?
- sql - SQL Server 比较 varbinary 列
- reactjs - 如何将地图函数用于钩子 useState 属性
- python - Python configparser:获取未使用条目的列表
- html - 如何摆脱表格中的“红色区域”?
- mysql - 是否有 mysql 函数可以从 SCHEMA(date, time) 形式的可用数据中获取过去三天时间的平均值
- javascript - i 在 for 循环中的行为不是我所期望的
- python - 如何从字典中的列表(每个索引独立)写入条目列表?
- c - C中的反转字符串
- android - RecyclerView 在另一个具有相同布局管理器的 RecyclerView 内部不滚动