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 值存储在keyCode
或charCode
属性中,但不会同时存储在两者中。如果按下的键生成一个字符(例如“a”),则charCode
设置为该字符的代码;charCode
尊重字母大小写(换句话说,charCode
考虑了是否按下了shift 键)。否则,按下的键的代码存储在keyCode
中。 - 当按下一个或多个修饰键时,
charCode
有一些复杂的规则。有关详细信息,请参见Gecko Keypress 事件。 -
charCode
从未在keydown
和keyup
事件中设置。在这些情况下,会改为设置keyCode
。 - 要获取键的代码,无论它是存储在
keyCode
还是charCode
中,请查询which
属性。 - 通过IME 输入的字符不会通过
keyCode
或charCode
注册。 - 要获取与特定键关联的
charCode
值列表,请运行示例 7:显示事件对象属性并查看生成的 HTML 表格。
规范
规范 |
---|
UI 事件 # dom-keyboardevent-charcode |
浏览器兼容性
BCD 表格仅在浏览器中加载