我正在使用Angular应用程序,我需要监听按键以覆盖默认行为。特别是,我想在菜单工具栏显示在顶部的Firefox中禁用默认的ALT
键行为。以下代码在Chrome中有效,但在Firefox中无效:
@HostListener('window:keydown', ['$event'])
onKeyDown(e: any) {
if (e.key === 'Alt' || e.altKey) {
e.preventDefault();
e.stopPropagation();
return;
}
注意:我在网上看到了几个与Firefox类似问题有关的主题,但是它们都不是Angular项目,所以也许要解决我的问题需要一些Angular见识?
答案 0 :(得分:0)
我几个月前只参加了angular2课程,但是我在本课程中做了以下摘录。 (我只使用Angular [1]) 唯一的区别是,它代替了e:我使用的任何事件:KeyboardEvent。然后我导入了HostListener
import {HostListener} from '@angular/core';
@HostListener('window:keydown', ['$event'])
handleKeyDown(event: KeyboardEvent) {
if (event.key === 'Alt' || event.altKey) {
event.preventDefault();
event.stopPropagation();
return;
}
}
我希望这可以解决您的问题,但我无法对其进行测试。