KeyboardEvent: charCode 属性

已弃用: 此功能不再推荐。尽管某些浏览器可能仍然支持它,但它可能已从相关的 Web 标准中删除,可能正在被删除,或者可能仅出于兼容性目的而保留。避免使用它,并尽可能更新现有代码;请参见此页面底部的兼容性表以指导您的决定。请注意,此功能可能随时停止工作。

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 有一些复杂的规则。有关详细信息,请参见Gecko Keypress 事件
  • charCode 从未在keydownkeyup 事件中设置。在这些情况下,会改为设置 keyCode
  • 要获取键的代码,无论它是存储在 keyCode 还是 charCode 中,请查询which 属性。
  • 通过IME 输入的字符不会通过 keyCodecharCode 注册。
  • 要获取与特定键关联的 charCode 值列表,请运行示例 7:显示事件对象属性并查看生成的 HTML 表格。

规范

规范
UI 事件
# dom-keyboardevent-charcode

浏览器兼容性

BCD 表格仅在浏览器中加载