HostListener не вызывается, когда родная клавиатура не открыта - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть устройство Android с встроенным сканером штрих-кода.Основная причина в том, что я хочу избежать того, чтобы клавиатура всегда всплывала при автоматической фокусировке поля ввода.Поэтому моя идея заключалась в том, чтобы использовать HostListener в фоновом режиме и запускать каждый вход.Теперь я заметил, что HostListener работает только тогда, когда отображается клавиатура, что фактически означает, что я фокусирую поле ввода.Когда я тестирую его в браузере, мне не нужно фокусироваться на поле.Есть ли на веб-сайте Android какие-то особые вещи, которые я не вижу в данный момент?

Это мой HostListener

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

    var input = event.target as HTMLInputElement;

    alert(input);

  }

РЕДАКТИРОВАТЬ Я нашелновый способ, и, как ни странно, этот метод вызывается при использовании сканера, но теперь у меня возникла проблема, заключающаяся в том, что e.keyCode и e.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);

})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...