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.