В IE я могу сделать это с помощью (ужасно нестандартного, но работающего) jQuery
if ($.browser.msie)
$(document).keydown(function(e) { if (e.keyCode == 8) window.event.keyCode = 0;});
Но можно ли это сделать так, чтобы он работал на Firefox или в кросс-браузере для бонуса?
Для записи:
$(document).keydown(function(e) { if (e.keyCode == 8) e.stopPropagation(); });
ничего не делает.
$(document).keydown(function(e) { if (e.keyCode == 8) e.preventDefault(); });
решает проблему, но делает ключ backspace непригодным для использования на странице, что даже хуже, чем исходное поведение.
EDIT: Причина, по которой я делаю это, заключается в том, что я не создаю простую веб-страницу, а большое приложение. Это невероятно раздражает потерять 10 минут работы только потому, что вы нажали обратно в неправильном месте. Соотношение предотвращения ошибок и раздражающих пользователей должно быть выше 1000/1, предотвращая возврат назад к предыдущему окну.
EDIT2: Я не, пытаясь предотвратить навигацию по истории, просто несчастные случаи.
EDIT3: комментарий @brentonstrines (перемещен здесь, так как вопрос настолько популярен): Это долгосрочное "исправление", но вы можете бросить свою поддержку за Ошибка Chromium, чтобы изменить это поведение в webkit