按ESC关闭Google Chrome的弹出窗口

时间:2011-05-20 02:32:26

标签: javascript google-chrome

我有这个功能,可以通过按ESC转义键来关闭弹出窗口。但是,它不适用于谷歌浏览器。我不知道遗失了什么;有没有人有解决方案?

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;

2 个答案:

答案 0 :(得分:3)

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;

答案 1 :(得分:0)