.Net - Отключение перехода на одну страницу назад, когда пользователь нажимает кнопку «Backspace» на клавиатуре - PullRequest
1 голос
/ 11 ноября 2011

В основном, иногда мне нужно показать форму, предварительно заполненную записью. В зависимости от привилегий пользователя, он может или не может редактировать данные.

Проблема, с которой я сталкиваюсь, заключается в том, что иногда пользователь пытается редактировать текстовое поле, которое было отключено, нажимая на него и нажимая кнопку «Backspace», чтобы редактировать текст. Это заставляет браузер вернуться на одну страницу ... Раздражает.

Ответы [ 3 ]

3 голосов
/ 11 ноября 2011

Если это asp .net, вы можете просто сделать это так:

<script language=javascript>   

    function cancelBack()   
    {   
        if ((event.keyCode == 8 ||    
           (event.keyCode == 37 && event.altKey) ||    
           (event.keyCode == 39 && event.altKey))   
            &&    
           (event.srcElement.form == null || event.srcElement.isTextEdit == false)   
          )   
        {   
            event.cancelBubble = true;   
            event.returnValue = false;   
        }   
    }   

</script>   
<body onkeydown=cancelBack()>   
1 голос
/ 11 ноября 2011

Вам нужно перехватить событие клавиатуры в javascript и остановить его выполнение.Какой код на стороне сервера, который вы используете (ASP.NET), не имеет значения.

window.onkeydown = function(event) {
 if(event.keyCode == 8)
    return false;
}

Только что протестирован в Chrome и, похоже, работает

0 голосов
/ 26 июня 2018

Поместите это в функцию готовности документа, если у вас есть

window.onkeydown = function (event) 
{
          if (event.keyCode == 8) {
              return false;
          }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...