Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 在角度应用程序中禁用IE11浏览器快捷键_Angular_Keyboard Shortcuts_Internet Explorer 11_Keydown - Fatal编程技术网

Angular 在角度应用程序中禁用IE11浏览器快捷键

Angular 在角度应用程序中禁用IE11浏览器快捷键,angular,keyboard-shortcuts,internet-explorer-11,keydown,Angular,Keyboard Shortcuts,Internet Explorer 11,Keydown,我正在尝试禁用角度应用程序的快捷键 我在角组件中使用以下代码: @HostListener('window:keydown', ['$event']) handleHotkey(event: KeyboardEvent){ ... //Do Something ... event.preventDefault(); } 这在Google Chrome中正常工作,但在Internet Explorer 11中不起作用 当我按下ctrl+p,然后在IE11中,打印窗口将与我在函

我正在尝试禁用角度应用程序的快捷键

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

@HostListener('window:keydown', ['$event'])
 handleHotkey(event: KeyboardEvent){
  ...
  //Do Something 
  ...
  event.preventDefault();
}
这在Google Chrome中正常工作,但在Internet Explorer 11中不起作用

当我按下ctrl+p,然后在IE11中,打印窗口将与我在函数中定义的功能一起打开


在IE11中这样做的正确方法是什么?

更新:

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

不工作:

也许
返回false;
在您的方法末尾可以解决这个问题,我认为


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

@HarshRawat您能确认代码是否达到该点吗?如果是,那么您也可以尝试
event.stopImmediatePropagation();
event.cancelBubble=true;
;如果否,IE可能出于某种原因不允许“覆盖”ctrl+P。是的,代码达到了该点,但不起作用。我想我理解可能的问题。您知道哪个事件调用快捷键,即,如果是按键或其他事件吗?@HarshRawat I做了一点研究,但似乎没有IE的解决方案。对不起。有两种(不好的)选择:你可以完全禁用Ctrl键,或者你可以显示警报,打印窗口将不会显示。:(感谢更新。我也认为这是不可能的。我改为使用alt作为快捷方式。