3

我想为网站中的所有元素捕获特定键 (<) 的 keydown 事件。在 Windows 和 iOS 上,这不是问题,一切正常。在 Android(OnePlus 6、Android 10、Chrome 81、Gboard-Keyboard)上,但是我无法为按下的键获取正确的 keyCode,因此导致我的网站的一项基本功能无法正常工作。keyCode 始终显示为未识别的 0 或 226。

我要完成的工作:

  1. 聚焦页面上的任何类型的元素
  2. 按 <-键
  3. 按下 <-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/

到目前为止我已经尝试过:

  1. 从 keydown 切换到 keyup,keypress - keyup 不会改变任何东西,keypress 不会在 Android 上触发
  2. 使用另一个键盘 - 没有成功
  3. 使用 e.keyCode、e.which、e.charCode - 不成功

看起来,这个问题是已知的,但这些解决方法在我的情况下不起作用,因为我需要在任何地方捕捉 keydown 事件,而不仅仅是在单个输入中。

你有什么想法或解决方法吗?任何帮助将不胜感激!提前致谢。

4

0 回答 0