javascript - 如果用户在 Angular 中按下 Shift 按钮,HostListener 将无法正常工作

标签 javascript angular

在 Angular 6 中,我编写了一个函数来检测 Ctrl 按钮是否被按下:

  @HostListener('document:keydown.control')
  onKeydownHandler() {
    console.log('key down control');
  }

每次按下 Ctrl 按钮时,日志都会写入控制台。 但是,如果我按 Ctrl+Shift 按钮,则不会写入此日志。即使我松开 Shift 按钮,日志也不会再写入。

你知道会发生什么吗?

最佳答案

你需要简单地装饰一下它。

  @HostListener('document:keydown.control')
  @HostListener('document:keydown.shift.control')
  @HostListener('document:keydown.control.shift')
  onKeydownHandler() {
    console.log('key down control');
  }

keydown.controlkeydown.shift.controlkeydown.control.shift 被视为单独的不同事件。

关于javascript - 如果用户在 Angular 中按下 Shift 按钮,HostListener 将无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56579067/

相关文章:

javascript - angular ui-router 多个嵌套和 Controller 数据

javascript - 如何从 HTML 和 Javascript 页面执行 Linux 命令?

javascript - 高效电池定期数据提交

javascript - 将博主帖子中的所有图像网址从 blogspot.com 替换为 googleusercontent.com

html - Angular4/HTML - 使用 *ngFor 的多个是或否单选组

javascript - Vis.js 网络 : how to add a node on click inside the canvas?

c# - 保持前端 Angular 5 和后端 Web API 代码分离的简单方法?

html - 如何修复 Angular Materials 不起作用的错误

javascript - 如何打乱 JavaScript 数组?

sql-server - 如何在 Electron ipcMain 和 angular ipcRenderer 之间与 observables 异步发送数据