我在 Angular 6 中使用 (keydown) 事件来绑定(bind)键输入
所以在输入“Tab”和“Enter”键时我必须执行我的功能 并添加了一个 event.prevent default
但是当输入 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
}
}
But the problem is when Shift + Tab is pressed , event is fired and functionality goes on, which i don't want.
我该怎么做
我只希望 Shift + Tab 在此输入上执行其默认功能。
最佳答案
您需要删除 if
条件中的 shift
,如下所示:
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
关于javascript - Angular 6 中的 (keydown) 事件的多键绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52665812/