【发布时间】:2016-12-23 22:38:51
【问题描述】:
我需要检测用户何时选择键盘字母 ] KeyCode: 221 并在 dom 上返回字母 ]。
我的问题是:
如果事件从input 元素或document 返回,则event.keyCode 返回的值不同。
还有
在 Chrome 55.0 上测试以下问题
我得到输入: event.keyCode: 93 - String.fromCharCode: ]
我得到文件: event.keyCode:221 - String.fromCharCode:Ý
在 Firefox 50.1.0 上
我得到输入: event.keyCode: 0 - String.fromCharCode:
我得到文件: event.keyCode:221 - String.fromCharCode:Ý
我需要知道:
- 我的代码有什么问题?
- 什么是具有相同值的一致方式?
注意:我使用的是 ENG 美国国际键盘(这可能是相关的吗?)。
var input = document.getElementById('input');
var result = document.getElementById('result');
input.addEventListener('keypress', function(event) {
result.innerHTML = `event.keyCode: ${event.keyCode} - String.fromCharCode: ${String.fromCharCode(event.keyCode)}`;
});
var resultDocument = document.getElementById('resultDocument');
document.addEventListener('keydown', function(event){
resultDocument.innerHTML = `event.keyCode: ${event.keyCode} - String.fromCharCode: ${String.fromCharCode(event.keyCode)}`;
});
<input id="input" type="text" size="40">
<div id="result"></div>
<h1>On document</h1>
<div id="resultDocument"></div>
【问题讨论】:
-
这是因为要获得该字符,您需要在 Mac 上按
fn+option+9和AltGr+9(如果我没记错的话)在电脑上。据我所知,Fn、option和AltGr没有在 javascript 中注册为按键。不幸的是,我无法提供一种独特的方式来立即获得价值。
标签: javascript jquery html google-chrome firefox