这里有没有人遇到过键盘事件是虚拟键盘且键不是数字时未触发的问题。在Android 6.0.1上运行Nexus 7平板电脑会出现此问题。
$('.some.selector').on('keypress', function () {
console.log('Pressed');
})
以上代码在以下情况下触发:单击键是0-9之类的数字,如果使用其他设备如iPad或iPhone,或者如果我从PC远程调试我的平板电脑那么我可以按键盘上的物理键。 我在平板电脑上使用Chrome 49浏览器。
答案 0 :(得分:2)
https://developer.mozilla.org/en-US/docs/Web/Events/keypress
keypress
事件已弃用且
Chrome不会触发已知键盘快捷键的按键事件 (参考)。哪些键盘快捷键是已知的取决于用户的 系统。使用keydown事件来实现键盘快捷键。
尝试使用input
或`keydown / keyup'事件。
https://developer.mozilla.org/en-US/docs/Web/Events/input
https://developer.mozilla.org/en-US/docs/Web/Events/keydown
https://developer.mozilla.org/en-US/docs/Web/Events/keyup
请注意!
当一个值的值同步触发DOM输入事件 <输入>或者< textarea的>元素改变了。此外,它还会启动 当内容发生变化时,可信的编辑。在这种情况下, 事件目标是编辑主机元素。如果有两个或更多 具有满足感的元素,“编辑主持人”就是这样 最近的祖先元素,其父级不可编辑。同样,它是 还触发了designMode编辑器的根元素。