В документах Angular4 показано ( фильтрация событий клавиш (с помощью key.enter) ), как перехватывать события нажатия клавиш на клавиатуре. проще - (keyup.enter)="foo()"
или keyup.w
или keyup.space
и т.д.
Мне нужно запускать событие только при нажатии букв.
Один из способов, о котором я могу думать, это:
<input id="textFilter" (keyup)=“foo($event)”>
foo(e){
var allowedKeys = [‘KeyQ’, ‘KeyW’, ‘KeyE’, and the rest of the alphabet...]
if (allowedKeys.indexOf(e.code) != -1 ) {
return true;
}
}
Но я бы ожидал, что такие pseudo-events
уже встроены в Angular. Например для букв, например - (keyup.letters)="foo()"
, и для цифр, например -(keyup.numbers)="foo()"
. Есть ли такие? И предпочтительнее ли указанное выше решение для фильтрации нажатий клавиш по группам?
Я ценю любую помощь.