在Angular应用程序

时间:2018-01-17 07:56:11

标签: angular keyboard-shortcuts internet-explorer-11 keydown

我正在尝试禁用Angular应用程序的快捷键。

我在Angular组件中使用以下代码:

@HostListener('window:keydown', ['$event'])
 handleHotkey(event: KeyboardEvent){
  ...
  //Do Something 
  ...
  event.preventDefault();
}

这适用于Google Chrome,但在Internet Explorer 11中无效。

当我按下ctrl + p然后在IE11中打开打印窗口以及我在功能中定义的功能。

在IE11中执行此操作的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

<强>更新

IE似乎没有解决方案。有两个(丑陋)替代方案:您可以完全禁用Ctrl键,或者您可以显示警报,并且打印窗口不会显示。 :(

无效:

我认为,方法结束时可能return false;可以解决这个问题。

但它会取消浏览器的每个keydown,因此您应该编写if语句来检查event.keyCode或类似的内容,以决定是否你应该返回falsetrue(让浏览器处理其他事件)。