2013-03-16 4 views
0

Мое текущее веб-приложение получает нажатие клавиши пользователя, однако, если пользователь нажимает кнопку удаления или возврата, он отправляет пользователю назад страницу. Их способ предотвратить это?Остановить кнопку удаления от отправки пользователю страницы

+0

Почему ваше приложение sendes я пользователя открывает страницу назад, если пользователь нажимает удалить или забой? – idmean

+0

нет, он не отправляет их обратно. Я думаю, что это настройка по умолчанию в браузерах, потому что если какой-то элемент не сфокусирован, и они нажимают кнопку «Назад», он автоматически отправит их обратно на страницу. – npage

+1

@juhana Да, это так, я знаю, что более старая версия IE определенно делает это. Текущие версии Chrome тоже. – JaredMcAteer

ответ

2

jQuery делает это легко. Вы можете легко заменить это на vanilla JS и использовать addEventListener() для браузеров класса А и attachEvent() для старого IE и нормализовать keyCode и charCode самостоятельно. Но почему?

$(document).on('keyup', function(e){ 
    var keycode = e.keyCode ? e.keyCode : e.which;  
    if(keycode == 46){ // delete 
     e.stopPropagation(); 
     e.preventDefault(); 
    } 
}); 

Забой ключа keyCode 8 обнаруживается внутри только сфокусированным вход и, вероятно, до сих пор испускает ваше нежелательное поведение, но он будет держать пользователь счастливым.

Вот полный список keyCodes