此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

KeyboardEvent:charCode 属性

Deprecated

Avoid using this feature in new projects. This feature may be a candidate for removal from web standards or browsers.

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

警告:该属性已被弃用,请勿再使用该属性。要获取字符的 Unicode 值,请改用 key 属性。

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

示例

HTML

html
<p>在下面的输入框中输入任何内容即可记录 <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 = `按下的键:${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 Events
# dom-keyboardevent-charcode

浏览器兼容性