如何在IE中禁用Alt-Enter?

时间:2009-10-20 06:44:35

标签: javascript internet-explorer javascript-events

由于IE的默认行为是在 Alt - Enter 命令切换到全屏模式。我要避免这种情况,并且必须附加自定义行为。

可行吗?

2 个答案:

答案 0 :(得分:3)

不在JavaScript中,没有。

这是应用程序的行为,您实际上无法控制(除了浏览器扩展等)。

您可以尝试捕捉页面上的按键,但这不会阻止用户轻易绕过它。

请参阅http://www.webonweboff.com/tips/js/event_key_codes.aspx以获取密钥的字符代码列表。我很确定抓住按键组合是不可靠的。

此外,IE中的 Alt + Enter 导致预期行为,您不应尝试通过网页覆盖此内容。

答案 1 :(得分:0)

既然你无法击败他们,请加入他们。这意味着,因为你可以捕获事件但是无法阻止它,那么在用户按下alt + enter后你在超时中运行相同的命令怎么样?

示例:

<script type="text/javascript">

document.onkeydown = handleHotKeys;

function handleHotKeys(e) {
    var keynum = getKeyCode(e);
    var e = e || window.event;
    if (keynum==13 && e.altKey) { // handle enter+alt
        setTimeout("toggleFullscreenMode",100);
    }

}
function getKeyCode(e){
    if (!e)  { // IE
        e=window.event;
        return e.keyCode;
    } else { // Netscape/Firefox/Opera
        return e.which;
    }
}

function toggleFullscreenMode() {
  var obj = new ActiveXObject("Wscript.shell");
  obj.SendKeys("{F11}");
}
</script>

免责声明:在IE8中测试过。您必须查看浏览器和版本才能使其适用于您要定位的特定浏览器版本。这也假设用户将启用javascript和activex对象。