Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.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 按ESC键关闭Google Chrome的弹出窗口_Javascript_Google Chrome - Fatal编程技术网

Javascript 按ESC键关闭Google Chrome的弹出窗口

Javascript 按ESC键关闭Google Chrome的弹出窗口,javascript,google-chrome,Javascript,Google Chrome,我有此功能,可通过按ESC键关闭弹出窗口。然而,谷歌Chrome并不适用。我不知道错过了什么;有人有解决办法吗 function doClose(e) { if (!e) e = window.event; if (e.keyCode) { if (e.keyCode == "27") window.close(); } else if (e.charCode) { if (e.keyCode == "27

我有此功能,可通过按ESC键关闭弹出窗口。然而,谷歌Chrome并不适用。我不知道错过了什么;有人有解决办法吗

function doClose(e) 
{
    if (!e) e = window.event; 

    if (e.keyCode) 
    {
        if (e.keyCode == "27") window.close();
    }
    else if (e.charCode) 
    {
        if (e.keyCode == "27") window.close();
    }
}
document.onkeypress = doClose;

onkeypress不捕获某些键-主要是系统键,如ESC和F1->F12,请使用onkeydown。此外,您的逻辑中还有一个错误,请更新至:

function doClose(e) 
{
    if (!e) e = window.event; 

    if (e.keyCode) 
    {
        if (e.keyCode == "27") window.close();
    }
    else if (e.charCode) 
    {
        if (e.charCode == "27") window.close();
    }
}
document.onkeydown = doClose;
谷歌浏览器漏洞:

要删除WebKit错误,请执行以下操作:


第二个是if(e.charCode==“27”)吗?你可以把这一切与
if((e.keyCode|e.charCode)==“27”)放在一行中。