gpt4 book ai didi

javascript - 跨浏览器协调 keyCode/charCode 的首选方法是什么?

转载 作者:行者123 更新时间:2023-11-30 06:49:10 26 4
gpt4 key购买 nike

根据 keydown 事件的属性,我想确定当前的 charCode 是什么?

示例。

对于按下 NumPad0、D0 和冒号键时的 keydown 事件,我想知道关联的字符代码是什么。目前我有一个 map ,其中包含与该 keyCode 关联的字符代码,或者如果未指定 charCode,则使用当前的。

keyCode = {
Colon: 186,
D0: 48,
NumPad0: 96,
};
charCodes = {
186: 59,
96: 48,
};
shiftCharCodes = {
186: 58,
48: 41
};

在某些情况下,不同浏览器的 keyCode 是否不同?

示例。

keydown 事件在不同浏览器中具有不同的 keyCode 值。冒号键 (:/;) - keyCode 在 Firefox 上是 59 - keyCode 在 IE/safari 上是 186

了解更多信息

http://www.quirksmode.org/js/keys.html

最佳答案

如果您对与按键关联的字符代码感兴趣,那么您将无法使用 keydown 事件。 keypress 事件是该信息唯一可用的地方,对于大多数可打印键来说问题不大。

document.onkeypress = function(evt) {
evt = evt || window.event;
var charCode = evt.which || evt.keyCode;
alert("Character: " + String.fromCharCode(charCode));
};

围绕“特殊”不可打印按键(例如功能键)的浏览器行为存在差异。有关更多信息,我考虑 this article by Jan Wolter成为 JavaScript key 处理的权威引用。

关于javascript - 跨浏览器协调 keyCode/charCode 的首选方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2917185/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com