Firefox Alt键preventDefault无法正常工作

时间:2018-07-18 15:39:42

标签: javascript angular firefox

我正在使用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见识?

1 个答案:

答案 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;
     }
}

我希望这可以解决您的问题,但我无法对其进行测试。