Jak mogę zapobiec cofaniu się klawisza Backspace?
Na IE mogę to zrobić za pomocą (strasznie 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 zrobić to w sposób, który działa w Firefoksie lub w trybie krzyżowym w celu uzyskania premii?
Dla porządku:
$(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 jest dostępny na stronie, co jest nawet gorsze niż oryginalne zachowanie.
EDYCJA: Powodem, dla którego to robię, jest to, że nie tworzę prostej strony internetowej, ale dużą aplikację. Bardzo denerwujące jest stracenie 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ć większy niż 1000/1, uniemożliwiając nawigację wstecz.
EDIT2: Jestemnie próbując zapobiec nawigacji w historii, po prostu wypadkom.
EDIT3: komentarz @ brentonstrines (przeniesiony tutaj, ponieważ pytanie jest tak popularne): Jest to długoterminowa „poprawka”, ale możesz wrzucić swoje wsparcie zaBłąd Chromium, aby zmienić to zachowanie w webkicie