我正在尝试订阅使用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键:
他们没有被记录。我没有收到任何错误消息,没有。在常规浏览器中运行ionic serve
时,一切正常。
应该提到什么。这些键正常工作(即我可以使用箭头键在textarea中导航)。
我也尝试过简单的JavaScript:
document.onkeydown = function(evt) {
evt = evt || window.event;
alert(evt.keyCode);
};
相同的结果 - 适用于桌面上的箭头键,不适用于iPad。
另外一次尝试,我使用了angular hotkeys,但是这个库在ios设备上不起作用。
答案 0 :(得分:0)
尝试keydown
事件。与keypress
事件不同,为生成字符值的键和不生成字符值的键触发keydown事件。