2016-02-12 2 views
0

Я хочу создать веб-страницу, которая прослушивает событие нажатия клавиши для тела, чтобы получить то, что пользователь вводит, включая обратное пространство для удаления последней буквы, которую пользователь набрал.Как отключить поведение кнопки backspace по умолчанию в браузере

Итак, как я могу отключить по умолчанию поведение кнопки backspace (вернуться) в браузере для достижения этого?

ответ

0

Вы можете отключить забой с KeyDown события:

$('html').bind('keydown', function (e) { 
     if (e.keyCode == 8) { 
      return false; 
     } 
    }); 
+0

И вы просто не позволили никому удалять текст на любом входе. – epascarello

+0

Да. Вопрос: «Как отключить поведение кнопки backspace по умолчанию (вернуться) в браузере» – alexey

+0

Значит, пользователь хочет, чтобы кнопка backsapce не переходила на страницу назад на предыдущую страницу в истории. – epascarello

0

я надеюсь, что это будет работать для вас.

$(document).unbind('keydown').bind('keydown', function (event) { 
var doPrevent = false; 
if (event.keyCode === 8) { 
    var d = event.srcElement || event.target; 
    if ((d.tagName.toUpperCase() === 'INPUT' && 
     (
      d.type.toUpperCase() === 'TEXT' || 
      d.type.toUpperCase() === 'PASSWORD' || 
      d.type.toUpperCase() === 'FILE' || 
      d.type.toUpperCase() === 'SEARCH' || 
      d.type.toUpperCase() === 'EMAIL' || 
      d.type.toUpperCase() === 'NUMBER' || 
      d.type.toUpperCase() === 'DATE') 
     ) || 
     d.tagName.toUpperCase() === 'TEXTAREA') { 
     doPrevent = d.readOnly || d.disabled; 
    } 
    else { 
     doPrevent = true; 
    } 
} 

if (doPrevent) { 
    event.preventDefault(); 
} 

});