角度6中的(keydown)事件上的多个键绑定 [英] Multiple key binding on (keydown) event in angular 6
问题描述
我已使用角度6中的(keydown)事件来绑定按键输入
I have used (keydown) event in angular 6 to bind key inputs
因此,在输入"Tab"和"Enter"键时,我必须执行我的功能并添加了一个event.prevent default
So on enter of 'Tab' and 'Enter' key i have to do my functionality and added a event.prevent default
但是,当输入Shift + Tab时,它也可以阻止该事件
But when Shift + Tab is entered it is also preventing the event
.html
<input type="text" [(ngModel)]="Result1 (keydown)="onKeydownMain($event)" >
我不希望(keydown.shift.tab)事件分开..
I dont want (keydown.shift.tab) event seperate..
.ts
public onKeydownMain(event): void {
if (event.key === "Enter" || event.key === "Tab") {
event.preventDefault();
// My Functionality goes here
}
}
但是问题是当按下Shift + Tab时,事件被触发并且功能继续运行,这是我不希望的.
But the problem is when Shift + Tab is pressed , event is fired and functionality goes on, which i don't want.
我怎么去这个
我只希望Shift + Tab在此输入上执行其默认功能.
I just want Shift + Tab to perform its default functionality on this input.
推荐答案
您需要在 if
条件下删除 shift
,如下所示:
You need to remove the shift
in the if
condition like this:
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
这篇关于角度6中的(keydown)事件上的多个键绑定的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!