(iOS)从非ascii键捕获事件

(iOS)从非ascii键捕获事件,ios,angular,cordova,ionic3,Ios,Angular,Cordova,Ionic3,我正在尝试订阅使用Ionic Framework编写的应用程序中的物理键盘事件(非ASCII键)(当我试图访问由Ionic serve启动的页面、在ios设备上部署应用程序或从xcode在ios emulator中运行应用程序时,会出现此问题) 此函数按预期工作,直到我按下一个非ascii键: 指挥部 控制 选项 向上箭头 箭头向下 左箭头 阿罗(右) 帽锁 移位 它们只是没有被记录。我没有收到任何错误消息,什么也没有。在常规浏览器中运行ionic service时,一切正常 应该提到什么。

我正在尝试订阅使用Ionic Framework编写的应用程序中的物理键盘事件(非ASCII键)(当我试图访问由
Ionic serve
启动的页面、在ios设备上部署应用程序或从xcode在ios emulator中运行应用程序时,会出现此问题)

此函数按预期工作,直到我按下一个非ascii键:

  • 指挥部
  • 控制
  • 选项
  • 向上箭头
  • 箭头向下
  • 左箭头
  • 阿罗(右)
  • 帽锁
  • 移位
它们只是没有被记录。我没有收到任何错误消息,什么也没有。在常规浏览器中运行
ionic service
时,一切正常

应该提到什么。这些键工作正常(即我可以用箭头键在textarea内导航)

我还尝试了纯JavaScript:

  document.onkeydown = function(evt) {
    evt = evt || window.event;
      alert(evt.keyCode);
  };
同样的结果-适用于桌面上的箭头键,而不适用于iPad


作为另一次尝试,我使用了,但此库在ios设备上不起作用。

try
keydown
event。与
keypress
事件不同,keydown事件是为产生字符值的键和不产生字符值的键触发的。

我刚刚尝试了所有三个:keyup、keydown和keypress-结果相同。对于
选项卡
和其他一些按钮,会触发。但是,如果键盘按钮没有改变文本,那么除了
keypdown
感谢您提供的链接外,没有任何事件可以捕捉到这一点。正如我所写。当我在iPad上运行应用程序时,我不会收到这些事件(对于非ascii键)。它们只在我的电脑浏览器上工作。也许有不同的方法来捕捉它们?我尝试了angular热键,但它们不能完全工作-即使对于ascii键OK cool也没有看到您所做的编辑-也许jquery可以帮助:)我只是尝试了纯JavaScript(更新的问题)。它也不起作用,所以我认为jQuery不会有帮助;)我没有捕捉按键的问题。我在捕获非ascii键时遇到问题。您可以使用纯Javascript尝试其他方法:
myTextArea.addEventListener(“keydown”,(event)=>{…},true)
。最后一个布尔值是捕捉中的事件,以防它会产生影响(Angular捕捉冒泡阶段的事件)。。没什么:/
onKeyDown(event: any): void {
    console.log(JSON.stringify(event.key));
}
  document.onkeydown = function(evt) {
    evt = evt || window.event;
      alert(evt.keyCode);
  };