Javascript e、 iOS Safari中的keyCode on keyup事件 更新

Javascript e、 iOS Safari中的keyCode on keyup事件 更新,javascript,ios,mobile-safari,Javascript,Ios,Mobile Safari,到目前为止,我一直在模拟机中沿着物理键盘进行尝试。这就是问题的根源。然而,使用软键盘,它可以按需要工作keyup事件具有定义良好的keyCode 请在以下地址查找代码: var test=document.getElementById('test'); 测试.加法器列表器('keyup',函数(e){ 警报(如钥匙代码); }); iOS safari将0显示为任何按键的按键代码(keyup事件)。任何指针都会非常有用 更新 e.keyCode以及e.which与keypress事件一起工作

到目前为止,我一直在模拟机中沿着物理键盘进行尝试。这就是问题的根源。然而,使用软键盘,它可以按需要工作
keyup
事件具有定义良好的
keyCode


请在以下地址查找代码:

var test=document.getElementById('test');
测试.加法器列表器('keyup',函数(e){
警报(如钥匙代码);
});

iOS safari将
0
显示为任何按键的按键代码(
keyup
事件)。任何指针都会非常有用

更新


e.keyCode
以及
e.which
keypress
事件一起工作,但我无法让它与
keyup
事件一起工作。

使用
e.which
而不是
e.keyCode


编辑:要规范化此值,可以使用
e.keyCode | e.
e.keyCode
在iOS safari、实际设备和模拟器中的
keyup
事件中。
然而,在模拟器中,如果使用物理键盘
e.keyCode
设置为

,我可以通过使用
e.key
返回按下的键(例如
//code>或
a
)使其与
键盘
键盘
一起工作

我可以通过使用远程调试器检查事件对象来解决这个问题

我查看了最新的Chrome、Firefox、iOS Safari和macOS Safari,它们都通过
e.key
报告密钥

编辑:

keyup
keydown
现在不工作。我想我用了远程调试器什么的。然而,我已经找到了一个适用于我的用例的替代解决方案


我想在按下
/
时聚焦输入。我使用了上面的绑定到
keypress
的解决方案,但是由于没有触发
keyup
事件,所以密钥被输入到了输入中。只需调用
e.preventDefault()
就很好地解决了我的问题。我仍然可以将
e.key=='/'
keypress
事件匹配

警报(e.keyCode | | e.which)keyup
事件
e.keyCode
以及
e.which
keypress
一起工作,但我无法让它与
keypup
@sarbbottam一起工作,它与Chrome、Firefox、IE和iOS Safari上的
keyper
一起工作:对不起,我的错了,我一直在模拟器中尝试物理键盘。您的解决方案使用软键盘+1.