KeyboardEvent: charCode 属性

已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。

KeyboardEvent 接口的只读属性 charCode 返回在 keypress 事件期间按下字符键的 Unicode 值。

警告: 请不要使用此属性,因为它已弃用。请使用 key 属性来获取字符的 Unicode 值。

一个数字,表示按下字符键的 Unicode 值。

示例

HTML

html
<p>Type anything into the input box below to log a <code>charCode</code>.</p>
<input type="text" />
<p id="log"></p>

JavaScript

js
const input = document.querySelector("input");
const log = document.querySelector("#log");

input.addEventListener("keypress", (e) => {
  log.innerText = `Key pressed: ${String.fromCharCode(e.charCode)}\ncharCode: ${
    e.charCode
  }`;
});

结果

注意

  • keypress 事件中,按下键的 Unicode 值存储在 keyCodecharCode 属性中,但绝不会同时存储在两者中。如果按下的键生成一个字符(例如,“a”),则 charCode 设置为该字符的代码;charCode 会区分字母大小写(换句话说,charCode 会考虑是否按下了 shift 键)。否则,按下键的代码存储在 keyCode 中。
  • charCode 属性在 keydownkeyup 事件中永远不会被设置。在这些情况下,会设置 keyCode
  • 要获取键的代码,无论它存储在 keyCode 还是 charCode 中,请查询 which 属性。
  • 通过 输入法编辑器输入的字符不会通过 keyCodecharCode 注册。
  • 有关与特定键关联的 charCode 值列表,请运行 显示事件对象属性 并查看生成的 HTML 表。

规范

规范
UI 事件
# dom-keyboardevent-charcode

浏览器兼容性