捕获';下一个';在ionic/cordova模式下按下按钮

捕获';下一个';在ionic/cordova模式下按下按钮,cordova,ionic-framework,ionic3,cordova-plugins,android-keypad,Cordova,Ionic Framework,Ionic3,Cordova Plugins,Android Keypad,我正在使用ionic/cordova处理跨平台应用程序。当按下android键盘上的“下一步”按钮时,我想禁用某些功能。问题是,当通过keyUp或KeyPress事件按下“下一步”按钮时,我无法捕获事件。我在网上搜索过,但找不到任何适合我问题的解决方案。 我使用以下代码来捕获keyup等事件 setTimeout(() => { document.addEventListener('keydown', this.nextButtonHandler); }, 10); nextBu

我正在使用ionic/cordova处理跨平台应用程序。当按下android键盘上的“下一步”按钮时,我想禁用某些功能。问题是,当通过keyUp或KeyPress事件按下“下一步”按钮时,我无法捕获事件。我在网上搜索过,但找不到任何适合我问题的解决方案。 我使用以下代码来捕获keyup等事件

 setTimeout(() => {
  document.addEventListener('keydown', this.nextButtonHandler);
}, 10); 

nextButtonHandler(e) {
    //capture e.keyCode;
}
我也试着通过在ion inout上调用keyUp来捕捉这个事件,如下所示

 (keyup)="keyUp($event)"
但当我按下“下一步”按钮时,似乎什么也没发生,而当我按下android键盘上的其他键时,这些功能工作正常。 我是否遗漏了什么,或者我是否需要cordova的任何特殊插件来捕获“下一步”按钮输入?
任何帮助都将不胜感激。谢谢

您可以使用@HostListener在每台设备上获取密钥码。Keyup/keydown在android上不返回keycode,而在ios上可以正常工作,@HostListener可以很好地处理它们。 下面是要使用的代码

@HostListener('document:keydown', ['$event'])
docs(event) {
console.log(event.target.id);
console.log(event.keyCode)}

只要在你的.ts文件中写下这段代码,然后在你的文本区域中写下,你就可以很好地运行了。谢谢不过有点麻烦。如果它能正常工作就好了。是的,我也希望能有一些没有黑客的更简单的事情,但它是这样的:)如果你把它放在离子输入上,这在Android上似乎是可行的:(keyup.enter)=“onSubmit()