Привязка нескольких ключей к событию (keydown) в angular 6 - PullRequest
0 голосов
/ 05 октября 2018

Я использовал (keydown) событие в угловом 6 для привязки клавишных вводов

Поэтому при вводе клавиш «Tab» и «Enter» я должен выполнить свои функции и добавить событие.prevent по умолчанию

Но когда ввод Shift + Tab, это также предотвращает событие

.html

<input type="text" [(ngModel)]="Result1 (keydown)="onKeydownMain($event)"  >

Я не хочу (keydown.shift.tab)событие отдельное ..

.ts

public onKeydownMain(event): void {
    if (event.key === "Enter" || event.key === "Tab") {
                event.preventDefault();
                   // My Functionality goes here
    }
}

Но проблема в том, что при нажатии Shift + Tab происходит событие, и функционирование продолжается, чтоя не хочу.

Как мне это сделать

Я просто хочу, чтобы Shift + Tab выполнял свои функции по умолчанию для этого входа.

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Старайтесь избегать значения ключа смены ключа 16 в своем коде.event.which используется для отображения значения keyevent.

alert(event.which);
event.preventDefault();
if (event.keyCode!=16 && (event.keyCode === 13 || event.keyCode === 9 )) {
    alert("Pressed enter");
}
0 голосов
/ 05 октября 2018

Вам необходимо удалить shift в состоянии if, например:

public onKeydownMain(event): void {
       if (!event.shiftKey && (event.key === "Enter" || event.key === "Tab")){
                event.preventDefault();
                   // My Functionality goes here
        }
    }

. Вы можете обратиться к https://www.w3schools.com/jsref/obj_keyboardevent.asp для KeyboardEvent

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