Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Навигация с помощью клавиши ESC (https://javascript.ru/forum/dom-window/37518-navigaciya-s-pomoshhyu-klavishi-esc.html)

Mij 22.04.2013 23:57

Навигация с помощью клавиши ESC
 
Народ, помогите, плиз.
Нужно сделать так, чтобы по нажатию кнопки ESC в окне браузера грузилась некая страница. Нашёл скрипт, где навигация осуществляется путём нажатия стрелок. Адаптировал под себя (заменил код стрелки 37 на код клавиши ESC - 27):

<script type="text/javascript">
document.onkeypress= function(event) {
event= event||window.event;
if (event.keyCode == 27)
window.location= "page.php";
};
</script>

В итоге код работает в Опере, но не хочет в Мозиле и Хроме. А пока стрелка стояла (37), то Мозила тоже соглашалась переходить на page.php (Хром же упорствует, и не хочет реагировать ни на 27, ни на 37).
Можете дать универсальный код, чтобы все браузеры (по крайней мере Опера и Мозила) его воспринимали? Именно для клавиши ESC.

dmitriymar 23.04.2013 00:02

Цитата:

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

if (event.keyCode == 27){
window.location= "page.php";
return false;
}

Mij 23.04.2013 00:25

dmitriymar, большущее спасибо! Бился час. Проблема в том, что я совсем не знаю JS - пишу любительски только на PHP и HTML. Подозревал, что сценарии IF'а должен быть ограничен фигурными скобками, но смутило, что код работал в Опере. В PHP такое не проходит - там без скобок код не был бы воспринят никаким браузером. Из-за этого решил, что отсутствие скобок в случае с JS допустимо, и дело не в них.
Очень помог, спасибо ещё раз, дай бог здоровья тебе!

Mij 23.04.2013 00:27

Только сейчас понял, что дело не в скобках, а в ретёрн фалсе.


Часовой пояс GMT +3, время: 19:09.