禁用Internet Explorer快捷键(Disable Internet Explorer s

2019-06-25 23:37发布

编辑:等待片刻后,并没有得到任何东西,我决定只对IE做快捷方式禁用啄了。 是否有禁用IE的快捷键来访问菜单/打印等通过VBScript中的可能性?

是否有可能禁用浏览器的快捷键?

因为很多都是使用的应用程序。 例如, 按Ctrl + P用,我不希望浏览器弹出打印窗口。

Answer 1:

是的,你可以听与JavaScript的各种组合键和禁用默认的行为。 甚至还有,你可以使用和测试库在这里 。 我只是测试它使用谷歌Chrome和Firefox在他们的演示textarea的,和你想它的工作原理。

shortcut.add("Ctrl+P",function() {
    return;
});

这工作,因为我上面列出的浏览器,但IE不会让你覆盖在某些情况下,默认行为。

你只能在IE选项是与像完全禁用Ctrl键:

document.onkeydown = function () { 
  if (event.keyCode == 17) alert('Ctrl Key is disabled'); 
};

这是不理想的,可能不是你想要的,但它会奏效。



Answer 2:

您可以尝试创建keydown事件的事件处理程序,检查的键码,防止其默认动作如果需要的话。 然而,这将无法工作在所有浏览器。

Firefox的一个例子(取消“打印”快捷键,验证):

document.addEventListener("keydown", function(oEvent) {
    if (oEvent.keyCode == 80 && oEvent.ctrlKey)
        oEvent.preventDefault();
}, false)


Answer 3:

有一个很好的把戏与IE10 +打,以避免Alt组合键显示浏览器菜单,像Alt + FAlt + H ...

我最近在IE11中使用,只需添加一个锚与属性accesskey[yourKey]在您的身体

<body>
   <a href="#" accesskey="f"></a>
   <script type="text/javascript">
    window.onkeydown = function(e){
          console.log(e.keyCode + " alt: " + e.altKey);
          e.preventDefault();
    };
    window.onkeyup = function(e){
          console.log(e.keyCode + " alt: " + e.altKey);
          e.preventDefault();
    };
   </script>
</body>

现在,当你按下Alt + f浏览器不会显示“文件弹出”像往常一样,并让事件KeyDown和KEYUP得到你,而不是只KEYDOWN。



Answer 4:

我的工作类似的问题, 挂接键盘事件下面代码工作很好地禁用,但在IE浏览器的Flash对象还没有得到关注的焦点。 因为我试图处理Flash对象的键盘事件,这个代码不为我工作。

function hookKeyboardEvents(e) {
    // get key code
    var key_code = (window.event) ? event.keyCode : e.which;

    // case :if it is IE event
    if (window.event)
    {
        if (!event.shiftKey && !event.ctrlKey) {
            window.event.returnValue = null;
            event.keyCode = 0;
        }
    }
    // case: if it is firefox event
    else
        e.preventDefault();
}

window.document.onkeydown = hookKeyboardEvents;


Answer 5:

从呼吁按Ctrl + P的方法后,你的应用程序只是使键码为zero.I认为,这将解决您的问题...

window.event.keyCode = 0;

这将设置的键码作为zero..So当键代码资源管理器检查,这将是零......所以默认功能将不执行?

试试这个...只是一个建议



Answer 6:

这对我的作品在IE 8的重要组成部分,是IE需要ev.returnValue被设置为false。 注意:这仅适用,如果你有专注于文档的一些元素...也就是说,如果你只是加载网页并点击“CTRL-P”,你会看到打印对话框。 但是,如果你点击页面上的某个地方,那就试试吧,应该抑制打印对话框。

document.onkeydown = function (e) { 

    var ev = e||window.event; 

    // Do what I want keys to do ...

    // Block browser short cuts
    if(ev.preventDefault) // non-IE browsers
        ev.preventDefault();
    else  // IE Only
        ev.returnValue = false;
};


文章来源: Disable Internet Explorer shortcut keys