Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/06/2016, 15:14
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Prevenir el uso de una tecla concreta cuando el foco está fuera de inputs

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 original
  1. document.addEventListener("keydown", function(event){
  2.     var formularioHijos = document.querySelector("#id del formulario").elements, //Elementos del formulario
  3.         elementoActivo = document.activeElement; //Elemento activo en el documento
  4.  
  5.     if (event.which == 8 && [].indexOf.call(formularioHijos, elementoActivo) < 0){
  6.         event.preventDefault();
  7.     }
  8. }, false);

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand