Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.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
Javascript 如何在IE中禁用Alt Enter?_Javascript_Internet Explorer_Javascript Events - Fatal编程技术网

Javascript 如何在IE中禁用Alt Enter?

Javascript 如何在IE中禁用Alt Enter?,javascript,internet-explorer,javascript-events,Javascript,Internet Explorer,Javascript Events,IE的默认行为是在Alt Enter命令下切换到全屏模式。我必须避免这种情况,并且必须附加自定义行为 它可行吗?不是JavaScript,不是 这是应用程序的一种行为,您实际上无法控制它(除了浏览器扩展等) 您可以尝试捕捉页面上的按键,但这不会阻止用户轻松绕过它 有关键的字符代码列表,请参见。我敢肯定,它捕捉按键组合是不可靠的 此外,IE中的Alt+Enter会导致预期行为,您不应试图通过网页覆盖该行为 不在JavaScript中,不在 这是应用程序的一种行为,您实际上无法控制它(除了浏览器扩展

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

它可行吗?

不是JavaScript,不是

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

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

有关键的字符代码列表,请参见。我敢肯定,它捕捉按键组合是不可靠的

此外,IE中的Alt+Enter会导致预期行为,您不应试图通过网页覆盖该行为

不在JavaScript中,不在

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

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

有关键的字符代码列表,请参见。我敢肯定,它捕捉按键组合是不可靠的


此外,IE中的Alt+Enter会导致预期行为,您不应试图通过网页覆盖该行为

既然你不能打败他们,就加入他们吧。也就是说,既然你可以捕获事件但不能阻止它,那么在用户按下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>

document.onkeydown=handleHotKeys;
功能手柄热键(e){
var-keynum=getKeyCode(e);
var e=e | | window.event;
如果(keynum==13&&e.altKey){//handle回车+alt
setTimeout(“toggleFullscreenMode”,100);
}
}
函数getKeyCode(e){
如果(!e){//IE
e=窗口事件;
返回e.keyCode;
}else{//Netscape/Firefox/Opera
返回e.which;
}
}
函数toggleFullscreenMode(){
var obj=新的ActiveXObject(“Wscript.shell”);
obj.SendKeys(“{F11}”);
}

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

既然你不能打败他们,就加入他们。也就是说,既然你可以捕获事件但不能停止它,那么在用户按下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>

document.onkeydown=handleHotKeys;
功能手柄热键(e){
var-keynum=getKeyCode(e);
var e=e | | window.event;
如果(keynum==13&&e.altKey){//handle回车+alt
setTimeout(“toggleFullscreenMode”,100);
}
}
函数getKeyCode(e){
如果(!e){//IE
e=窗口事件;
返回e.keyCode;
}else{//Netscape/Firefox/Opera
返回e.which;
}
}
函数toggleFullscreenMode(){
var obj=新的ActiveXObject(“Wscript.shell”);
obj.SendKeys(“{F11}”);
}

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

但我没有选择。我必须实现每一项功能,这只是其中的一项:(.我知道阻止默认事件不是一种正确的做法,不应该这样做。但必须以这种方式交付:)您也面临着技术障碍。您可以为ALT维护一个状态变量(按下键时设置为true,上键时设置为false)和为enter维护一个状态变量(条件同上),并检查这两个状态变量是否为true,然后尝试
返回false
以防止默认操作。很有可能IE对该组合键的处理将优先于页面想要做的任何事情。Jonathan,我设法识别了alt-enter复合键。但无法使用“event.cancelBubble”、“event.returnValue”阻止事件冒泡,如我所想。IE防止这种虐待。你只需告诉你的客户/雇主这是不可能的,然后看看备选方案SEE用户适用性说明#2但我别无选择。我必须实现每一项功能,这只是其中的一项:(.我知道阻止默认事件不是一种正确的做法,不应该这样做。但必须以这种方式交付:)您也面临着技术障碍。您可以为ALT维护一个状态变量(按下键时设置为true,上键时设置为false)和为enter维护一个状态变量(条件同上),并检查这两个状态变量是否为true,然后尝试
返回false
以防止默认操作。很有可能IE对该组合键的处理将优先于页面想要做的任何事情。Jonathan,我设法识别了alt-enter复合键。但无法使用“event.cancelBubble”、“event.returnValue”阻止事件冒泡,如我所想。IE防止这种虐待。您只需告诉您的客户/雇主这是不可能的,并查看备选方案请参见用户适用性说明#2只有当用户启用了不安全的ActiveX控件(例如WScript.Shell)时,这才有效,因此不适用于任何Internet或Intranet页面。只有当用户启用了不安全的ActiveX控件时,这才有效(例如WScript.Shell),因此不适用于任何Internet或Intranet页面。