谁能解释为什么 numpad keyup 和 keydown 事件返回不同的键值?
考虑一下:
<input type="text" />
<script>
document.getElement('input').addEvents({
'keydown':function(e){
console.log('keydown: code:' + e.code + ', key:' + e.key);
},
'keyup':function(e){
console.log('keyup : code:' + e.code + ', key:' + e.key + '\n');
}
});
</script>
我希望每个事件都为 keydown 和 keyup 返回相同的键值,但相反,我得到了下面的输出(在按下 0、1、2、8 和 9 之后):
keydown:code:96,key:0
keyup:code:96,key:`按键:代码:97,按键:1 按键
:代码:97,按键:akeydown:代码:98,key:2
keyup:代码:98,key:b按键:代码:104,按键:8 按键
:代码:104,按键:h按键:代码:105,按键:9 按键
:代码:105,按键:i
通常我会使用按键,因此从来没有任何问题。当在键盘上按下相应的数字键盘键时,我在屏幕上突出显示数字键盘代表按钮时遇到了这个问题(突出显示向下,并删除突出显示向上)。
有任何想法吗?