在 Javascript键盘事件中,为按下的按键给出了一个代码,但是,它不是 ASCII 或 UTF-8 字符代码,而是键盘按键的代码。有时 keyCode 恰好与 ASCII/UTF-8 代码匹配,有时则不然。
有没有办法,给定 Javascript 键代码(通过e.keyCode
或访问e.which
)来获取相应的 ASCII 或 UTF-8 字符代码?
运行下面的代码片段。
document.addEventListener("keyup", function(e) {
document.querySelector(".key").innerHTML = e.key;
document.querySelector(".keyCode").innerHTML = e.keyCode;
document.querySelector(".UTF").innerHTML = String.fromCharCode(event.keyCode);
});
code {
background-color: #e2aec8ab;
border: solid 1px gray;
border-radius: 3px;
padding: 0 .5em;
min-height: 1em;
min-width: .2em;
margin: 0 .1em;
}
.output {
margin: 2em;
border: solid 1px lightgray;
border-radius: 3px;
background-color: rgba(200, 250, 230, .3);
padding: 1em;
}
Type here. Try some alpha letters as well as special keys like <code>`</code>
<code>-</code>
<code>=</code>
<code>[</code>
<code>]</code>
<code>[ENTER]</code>
<code>;</code>
<code>'</code>
<div class="output">
You typed <code class="key"></code> which is Javascript <b></b>keyCode</b> <code class="keyCode"></code>, in UTF that would be <code class="UTF"></code>
</div>
两个例子:
2
在键盘上输入
捕捉事件。event.keyCode
是 50。
UTF 字符 50 是2
(数字二)
但:
[
在键盘上输入
捕捉事件。event.keyCode
是 219。
UTF 字符 219 是Û
(带有省略号的拉丁文大写字母 U)
我希望事件包含的字符代码91
对应于LEFT SQUARE BRACKET。
如何将 Javascript keyCodes(例如219
)转换为 UTF-8 charCodes(例如91
)?
达令说
相关分类