未打开本机键盘时未调用HostListener

时间:2019-02-27 16:16:59

标签: android angular cordova ionic-framework

我有一个带整数条形码扫描仪的android设备。主要原因是,我想避免在自动聚焦输入字段时总是弹出键盘。所以我的想法是,在后台使用HostListener并触发每个输入。现在,我注意到HostListener仅在显示键盘时才起作用,这实际上意味着我将焦点放在输入字段上。当我在浏览器中对它进行即时测试时,我不需要专注于该领域。 android webview在这里有一些我现在看不到的特殊东西吗?

那是我的HostListener

  @HostListener('input', ['$event'])
  onKeyDown(event: KeyboardEvent) { 

    var input = event.target as HTMLInputElement;

    alert(input);

  }

编辑 我找到了一种新方法,很奇怪的是,我在使用扫描仪时调用了此方法,但是现在我遇到了这样的问题,即问题e.keyCodee.target在类型'{上不存在}'。我已经尝试将e作为KeyboardEvent和e作为InputEvent,但这也无法正常工作。但是,当我在浏览器中检查对象时,它绝对是正确的对象,但是我无法访问它。

this.subscription = Observable.fromEvent(document, 'keypress').subscribe(e => {


  if(e.keyCode == 13) {
  console.log("called");

}

})


this.subscription = Observable.fromEvent(document, 'input').subscribe(e => {

  var input = e.target as HTMLInputElement;

  console.log(input.value);

})

0 个答案:

没有答案