admin管理员组文章数量:1290311
I have used (keydown) event in angular 6 to bind key inputs
So on enter of 'Tab' and 'Enter' key i have to do my functionality and added a event.prevent default
But when Shift + Tab is entered it is also preventing the event
.html
<input type="text" [(ngModel)]="Result1 (keydown)="onKeydownMain($event)" >
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
}
}
But the problem is when Shift + Tab is pressed , event is fired and functionality goes on, which i don't want.
How can i go this
I just want Shift + Tab to perform its default functionality on this input.
I have used (keydown) event in angular 6 to bind key inputs
So on enter of 'Tab' and 'Enter' key i have to do my functionality and added a event.prevent default
But when Shift + Tab is entered it is also preventing the event
.html
<input type="text" [(ngModel)]="Result1 (keydown)="onKeydownMain($event)" >
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
}
}
But the problem is when Shift + Tab is pressed , event is fired and functionality goes on, which i don't want.
How can i go this
I just want Shift + Tab to perform its default functionality on this input.
Share Improve this question edited Oct 5, 2018 at 13:06 Shashikant Devani 2,4541 gold badge14 silver badges28 bronze badges asked Oct 5, 2018 at 12:36 Parshuram KalvikatteParshuram Kalvikatte 1,6464 gold badges23 silver badges45 bronze badges 1- 1 You'll have to be explicit and tell it to check if Shift is pressed. – user4676340 Commented Oct 5, 2018 at 12:40
2 Answers
Reset to default 4You 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
}
}
You can refer to https://www.w3schools./jsref/obj_keyboardevent.asp for KeyboardEvent
Try avoiding the shift keyevent value 16 in your code. event.which is used to display the keyevent value.
alert(event.which);
event.preventDefault();
if (event.keyCode!=16 && (event.keyCode === 13 || event.keyCode === 9 )) {
alert("Pressed enter");
}
本文标签: javascriptMultiple key binding on (keydown) event in angular 6Stack Overflow
版权声明:本文标题:javascript - Multiple key binding on (keydown) event in angular 6 - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741495787a2381831.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论