Tendrías que trabajar con el evento
keydown
que es el primer de los tres eventos que se disparan cuando se pulsa una tecla; luego, capturas al
elemento activo del documento, a los
elementos del formulario y al
código de la tecla pulsada. A continuación, comprueba que el código sea igual a 8 (el de la tecla de retroceso) y que el elemento activo no sea un elemento hijo del formulario (en el ejemplo, utilicé una instancia del método
Array.prototype.indexOf()
); de ser así,
evitas que se produzca el comportamiento natural del evento y listo.
Código Javascript
:
Ver originaldocument.addEventListener("keydown", function(event){
var formularioHijos = document.querySelector("#id del formulario").elements, //Elementos del formulario
elementoActivo = document.activeElement; //Elemento activo en el documento
if (event.which == 8 && [].indexOf.call(formularioHijos, elementoActivo) < 0){
event.preventDefault();
}
}, false);