(iOS)从非ascii键捕获事件

时间:2018-03-15 18:36:07

标签: ios angular cordova ionic3

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

<div tabindex="1" (keyup)="onKey($event)" (keydown)="onKey($event)" (keypress)="onKey($event)"></div>

onKey功能中,我只是在屏幕上打印关于哪个键被点击的信息:

onKeyDown(event: any): void {
    console.log(JSON.stringify(event.key));
}

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

  • command
  • control
  • 选项
  • arrow_up
  • arrow_down
  • arrow_left
  • arrow_right
  • 大写锁定

他们没有被记录。我没有收到任何错误消息,没有。在常规浏览器中运行ionic serve时,一切正常。

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

我也尝试过简单的JavaScript:

  document.onkeydown = function(evt) {
    evt = evt || window.event;
      alert(evt.keyCode);
  };

相同的结果 - 适用于桌面上的箭头键,不适用于iPad。

另外一次尝试,我使用了angular hotkeys,但是这个库在ios设备上不起作用。

1 个答案:

答案 0 :(得分:0)

尝试keydown事件。与keypress事件不同,为生成字符值的键和不生成字符值的键触发keydown事件。