Предотвращение перемещения клавиши возврата на предыдущую страницу - PullRequest
4 голосов
/ 12 марта 2012
.keydown(function(e){
        alert(e.keyCode);
...

Это возвращает 8 как ключ кнопки «Backspace».Проблема, однако, заключается в том, что браузеры возвращаются в историю!

Это самое раздражающее поведение браузеров Windows, я просто пытаюсь очистить значения списка со клавишами удаления и возврата.Я ненавижу это поведение, и оно точно так же в IE и в Chrome.

Какие-нибудь идеи, которые я мог бы использовать клавишу Backspace?

Ответы [ 2 ]

12 голосов
/ 12 марта 2012

Просто используйте preventDefault():

$(document).keydown(function(e){
    if ( e.keyCode == 8 ) e.preventDefault();
});

Обратите внимание, однако, что это помешает возврату работать в полях ввода. Это можно легко исправить с помощью следующего:

$(document).keydown(function(e){
    if ( e.keyCode == 8 && e.target.tagName != 'INPUT' && e.target.tagName != 'TEXTAREA') {
        e.preventDefault();
    }
});
0 голосов
/ 12 марта 2012

Используйте protectDefault (), и в качестве дополнительного средства защиты вы можете использовать событие onbeforeunload, чтобы предупредить людей, если они уходят с вашей страницы

...