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作为快捷方式。