Нажмите ESC, чтобы закрыть всплывающее окно для Google Chrome - PullRequest
2 голосов
/ 20 мая 2011

У меня есть эта функция для закрытия всплывающего окна нажатием клавиши выхода ESC. Однако это не работает для Google 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;

Ответы [ 2 ]

3 голосов
/ 20 мая 2011

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;
0 голосов
/ 20 мая 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...