众所周知,ALT+ESC是一个关闭窗口的快捷方式。我正在尝试覆盖该快捷方式,以便它使用指令在我的应用程序中关闭一个打开的对话框。代码进入指令,但同时关闭整个应用程序(不仅仅是对话框)。如何防止应用程序关闭?
import { Directive, ElementRef, HostListener } from '@angular/core';dialog.component';
@Directive({
selector: '[test-directive]'
})
export class TestDirective {
constructor() {}
@HostListener('keydown', ['$event'])
onKeyDown(e) {
if (e.altKey && e.keyCode == 18) {
e.preventDefault();
e.stopPropagation();
closeDialog();
}
}
}发布于 2021-09-16 12:44:59
类似这样的代码在Chrome中可以正常工作:
@HostListener('window:keydown', ['$event'])
handleHotkey(event: KeyboardEvent){
...
//Do Something
...
event.preventDefault();
}和
<script>
window.addEventListener('keydown', event => {
event.preventDefault()
})
</script>https://stackoverflow.com/questions/69208577
复制相似问题