虚拟键盘事件

Virtual keyboard events

本文关键字:事件 键盘 虚拟      更新时间:2023-09-26

这里有没有人遇到过键盘事件在虚拟键盘和键不是数字时不触发的问题。在Android 6.0.1上运行的Nexus 7平板电脑会出现此问题。

$('.some.selector').on('keypress', function () {
    console.log('Pressed');
})

上面的代码在以下情况下触发:单击的键是 0-9 这样的数字,如果使用 iPad 或 iPhone 等其他设备,或者如果我从 PC 远程调试平板电脑,那么我可以按键盘上的物理键。我在平板电脑上使用 Chrome 49 浏览器。

https://developer.mozilla.org/en-US/docs/Web/Events/keypress

keypress事件已弃用,并且

Chrome 不会针对已知的键盘快捷键触发按键事件 (参考资料)。已知哪些键盘快捷键取决于用户的 系统。使用键向下事件实现键盘快捷方式。

尝试改用input或"键下/键升"事件。

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

注意!

当 <输入>或<文本区域>元素已更改。此外,它会开火 内容更改时的内容可编辑编辑器。在这种情况下, 事件目标是编辑主机元素。如果有两个或更多 具有内容可编辑为真的元素,"编辑主机"是 父元素不可编辑的最近祖先元素。同样,它是 也触发了设计模式编辑器的根元素。