这里是否有人遇到过这样的问题:当键盘事件是虚拟键盘而键不是数字时,它不会被触发。这个问题发生在运行在Android6.0.1上的Nexus 7平板电脑上。
$('.some.selector').on('keypress', function () {
console.log('Pressed');
})以上代码是在以下情况下触发的:单击键是一个类似于0-9的数字,如果使用iPad或iPhone之类的其他设备,或者如果我正在从pc远程调试我的平板电脑,那么我可以从键盘上按下物理键。我正在我的平板电脑上使用Chrome 49浏览器。
发布于 2016-04-26 10:47:35
https://developer.mozilla.org/en-US/docs/Web/Events/keypress
不推荐keypress事件,并且
Chrome不为已知的键盘快捷键触发按键事件(参考)。知道哪些键盘快捷键取决于用户的系统。使用按键事件实现键盘快捷键。
尝试使用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
注意!
当更改< input>或< textarea>元素的值时,DOM输入事件将同步触发。此外,当其内容发生更改时,它会对可内容编辑器触发。在这种情况下,事件目标是编辑主机元素。如果有两个或多个元素的内容可编辑为true,则“编辑宿主”是父元素不可编辑的最近的祖先元素。类似地,它也是对designMode编辑器的根元素触发的。
https://stackoverflow.com/questions/36862353
复制相似问题