javascript - 角度6中(keydown)事件的多个键绑定
问题描述
我在 Angular 6 中使用 (keydown) 事件来绑定键输入
因此,在输入“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
}
}
但问题是当按下 Shift + Tab 时,事件被触发并且功能继续,这是我不想要的。
我怎么能这样
我只希望 Shift + Tab 对此输入执行其默认功能。
解决方案
您需要像这样删除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.aspKeyboardEvent
推荐阅读
- geometry - 从球谐系数进行 3D 重建?
- sql - Oracle sum 1 按分区计数
- elasticsearch - Elasticsearch 过滤器查询不返回任何文档
- sql - 如何计算根据条件在不同行上选择值的方式的数量?
- python - 如何制作一个简单的机器人来自动对频道中的每条消息做出反应
- c - C 程序 - 二叉树的底视图
- java - printTriangle 中的行数错误?
- android - 如何删除自定义对话框android中的空白区域?
- javascript - 演示文稿各部分的自动编号
- angular - gapi.client.init 失败:不是客户端的有效来源:http://localhost:4200 尚未被列入客户端 ID 白名单