繁体   English   中英

万一用户按Angular中的Shift键,HostListener不能正常工作

[英]HostListener works incorrectly in case user press Shift button in 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被视为独立的不同事件。

您可以通过使用以下绑定来监听ctrl + shift事件。 并非只有先按下控制键然后再移动时它才起作用。

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

如果要处理其他装饰,只需添加所需数量的装饰器即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM