Skip to content
← Back to rules

unicorn/prefer-keyboard-event-key 风格

An auto-fix is available for this rule.

它的作用

强制使用 KeyboardEvent#key 代替已弃用的 KeyboardEvent#keyCodekey 属性也更具语义性和可读性。

为什么这是不好的?

keyCodewhichcharCode 属性已被弃用,应避免使用,而改用 key 属性。

示例

此规则的 错误 代码示例:

js
window.addEventListener("keydown", (event) => {
  if (event.keyCode === 8) {
    console.log("Backspace was pressed");
  }
});

window.addEventListener("keydown", (event) => {
  console.log(event.keyCode);
});

此规则的 正确 代码示例:

js
window.addEventListener("keydown", (event) => {
  if (event.key === "Backspace") {
    console.log("Backspace was pressed");
  }
});

window.addEventListener("click", (event) => {
  console.log(event.key);
});

如何使用

要通过配置文件或 CLI 启用 此规则,可以使用:

json
{
  "rules": {
    "unicorn/prefer-keyboard-event-key": "error"
  }
}
bash
oxlint --deny unicorn/prefer-keyboard-event-key

参考资料