Я хочу использовать клавишу табуляции для выполнения некоторой логики, но на самом деле не менять фокус. Согласно комментариям этого ответа я могу использовать false в моей разметке или protectDefault () в методе. У меня обоих так.
onKey(event: KeyboardEvent) {
event.preventDefault();
if(event.key = "Tab") { this.update.emit(this.config); }
}
<input #input
title="{{config|json}}"
value="{{config.value}}"
(keyup)="onKey($event)"
(keydown.Tab)="onKey($event);false;">
Тем не менее, он получает дополнительный прыжок, когда я нажимаю клавишу Tab. Когда я попробовал ту же логику, но на основе других клавиш (например, « a » или « enter »), поведение было ожидаемым, поэтому я пришел к выводу, что логика верна. По какой-то причине, вкладка неуправляема и распространяет событие так, как будто я хочу дважды вкладывать.
Я неправильно обращаюсь с клавишей табуляции? Не уверен, что гуглить за исключением того, что у меня уже есть.