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

View in English Always switch to English

KeyboardEvent:charCode 属性

已弃用: 不再推荐使用该特性。虽然一些浏览器仍然支持它,但也许已从相关的 web 标准中移除,也许正准备移除或出于兼容性而保留。请尽量不要使用该特性,并更新现有的代码;参见本页面底部的兼容性表格以指导你作出决定。请注意,该特性随时可能无法正常工作。

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 表格。

规范

Specification
UI Events
# dom-keyboardevent-charcode

浏览器兼容性