Sur IE, je peux le faire avec l' (terriblement non-standard, mais le travail) de jQuery
if ($.browser.msie)
$(document).keydown(function(e) { if (e.keyCode == 8) window.event.keyCode = 0;});
Mais est-il possible de le faire d'une manière qui fonctionne sur Firefox, ou une manière de croix-navigateur pour un bonus?
Pour l'enregistrement:
$(document).keydown(function(e) { if (e.keyCode == 8) e.stopPropagation(); });
ne fait rien.
$(document).keydown(function(e) { if (e.keyCode == 8) e.preventDefault(); });
résout le problème, mais rend la touche retour arrière inutilisable sur la page, ce qui est encore pire que l'original comportement.
EDIT: La raison pour laquelle je fais c'est que je ne suis pas la création d'une page web simple mais d'une grande application. Il est incroyablement ennuyeux de perdre 10 minutes de travail juste parce que vous avez appuyé sur la touche retour arrière dans le mauvais endroit. Le ratio de la prévention des erreurs vs ennuyeux, les utilisateurs doivent être au-dessus de 1000/1 par la prévention de la touche retour arrière de naviguer de nouveau.
EDIT2: je suis pas d'essayer d'empêcher l'histoire de la navigation, seulement les accidents.
EDIT3: @brentonstrines commentaire (déplacé ici car la question est tellement populaire): C'est un long-terme de "réparer", mais vous pouvez jeter votre soutien derrière le Chrome bug pour modifier ce comportement dans webkit