我想为网站中的所有元素捕获特定键 (<) 的 keydown 事件。在 Windows 和 iOS 上,这不是问题,一切正常。在 Android(OnePlus 6、Android 10、Chrome 81、Gboard-Keyboard)上,但是我无法为按下的键获取正确的 keyCode,因此导致我的网站的一项基本功能无法正常工作。keyCode 始终显示为未识别的 0 或 226。
我要完成的工作:
- 聚焦页面上的任何类型的元素
- 按 <-键
- 按下 <-key 后立即聚焦某个输入
在 Windows 和 iOS 上运行的代码:
$(document).keydown(function(e) {
e = e || window.event;
if (e.key === "<") {
$("#text2").focus();
} else {
// this is just for testing purposes
alert(e.key);
}
});
这是一个 jsfiddle 示例:http: //jsfiddle.net/rv6tc5mj/15/
到目前为止我已经尝试过:
- 从 keydown 切换到 keyup,keypress - keyup 不会改变任何东西,keypress 不会在 Android 上触发
- 使用另一个键盘 - 没有成功
- 使用 e.keyCode、e.which、e.charCode - 不成功
看起来,这个问题是已知的,但这些解决方法在我的情况下不起作用,因为我需要在任何地方捕捉 keydown 事件,而不仅仅是在单个输入中。
你有什么想法或解决方法吗?任何帮助将不胜感激!提前致谢。