Клавиша Esc не распознается в Firefox - PullRequest
2 голосов
/ 28 августа 2011

По какой-то причине этот скрипт не работает в Firefox:

document.onkeydown=function keypress(e) {
    if (e.keyCode == 27) {
        window.location = "/edit"
    };
};

Он отлично работает в Chrome, но по какой-то причине он не работает в Firefox.

По сути, что этодействительно, это загружает страницу /edit при нажатии клавиши ESC.

Ответы [ 2 ]

7 голосов
/ 28 августа 2011

use:

document.onkeydown=function keypress(e) {
  e=(e||window.event);  
    if (e.keyCode == 27) {
        try{e.preventDefault();}//Non-IE
        catch(x){e.returnValue=false;}//IE
        window.location = "/edit";
    };
}

Действие по умолчанию для ESC - остановить загрузку страницы,
, поэтому вы должны предотвратить это, иначе вы не сможете изменить местоположение.

Fiddle: http://jsfiddle.net/doktormolle/CsqgE/ (сначала кликните в результирующем кадре перед использованием ESC )

Но, однако, вам действительно следует использовать другую клавишу.
Пользователь ожидает, что загрузка текущей страницы прекращается, если он использует ESC , больше ничего.

0 голосов
/ 28 августа 2011

У меня работает обработчик событий: http://jsfiddle.net/Tm2PZ/

Я подозреваю, что заданное вами местоположение недопустимо.

Попробуйте вместо этого установить window.location.href.

...