W IE mogę to zrobić za pomocą (okropnie niestandardowego, ale działającego) jQuery
if ($.browser.msie)
$(document).keydown(function(e) { if (e.keyCode == 8) window.event.keyCode = 0;});
Ale czy można to zrobić w sposób, który działa w przeglądarce Firefox lub w przeglądarce, aby uzyskać bonus?
Dla przypomnienia:
$(document).keydown(function(e) { if (e.keyCode == 8) e.stopPropagation(); });
nic nie robi.
$(document).keydown(function(e) { if (e.keyCode == 8) e.preventDefault(); });
rozwiązuje problem, ale sprawia, że klawisz Backspace nie nadaje się do użytku na stronie, co jest nawet gorsze niż oryginalne zachowanie.
EDYCJA: Powodem tego jest to, że nie tworzę prostej strony internetowej, ale dużą aplikację. Bardzo denerwujące jest tracenie 10 minut pracy tylko dlatego, że nacisnąłeś backspace w niewłaściwym miejscu. Stosunek zapobiegania błędom do irytujących użytkowników powinien być znacznie powyżej 1000/1, uniemożliwiając cofanie się klawisza Backspace.
EDIT2: Ja nie próbuje zapobiec nawigację historię, tylko wypadków.
EDIT3: @brentonstrines komentarz (przeniesiony tutaj, ponieważ pytanie jest tak popularne): Jest to długoterminowa „poprawka”, ale możesz rzucić swoje poparcie za błędem Chromium, aby zmienić to zachowanie w zestawie internetowym