在 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.control
、keydown.shift.control
和 keydown.control.shift
被视为单独的不同事件。
关于javascript - 如果用户在 Angular 中按下 Shift 按钮,HostListener 将无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56579067/