Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] ¿Cómo desactivo el botón Backspace en el documento excepto en los inputs?

Estas en el tema de ¿Cómo desactivo el botón Backspace en el documento excepto en los inputs? en el foro de Jquery en Foros del Web. Hola amigos, estoy trabajando en una aplicación web con la función Ajax de jQuery y sucede lo siguiente, la persona encargada de usarlo, a veces ...
  #1 (permalink)  
Antiguo 02/09/2013, 21:59
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
¿Cómo desactivo el botón Backspace en el documento excepto en los inputs?

Hola amigos, estoy trabajando en una aplicación web con la función Ajax de jQuery y sucede lo siguiente, la persona encargada de usarlo, a veces comete el error de presionar la tecla Backspace (con la que se borra el texto) pero cuando el documento tiene el enfoque, no alguna de las cajas, lo cual genera que la página vaya al punto anterior visitado que es el equivalente a history.back(). El detalle está en que quiero desactivar dicho botón solamente para el documento, no para las cajas de texto, se que tendría que hacerlo mediante el código ASCII del botón pues he realizado cosas similares con otros botones, pero no se bien cómo lo haría en este caso.

Les agradeceré que me den una mano con esto, saludos.
  #2 (permalink)  
Antiguo 03/09/2013, 03:48
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 15 años, 1 mes
Puntos: 265
Respuesta: ¿Cómo desactivo el botón Backspace en el documento excepto en los inputs?

Bueno deberás aplicar un evento para todo el documento, algo de este tipo:

Código Javascript:
Ver original
  1. $(document).keypress(function(e){
  2.     var element = $(document.activeElement).is("input:focus");
  3.     if(e.keyCode === 8 && !element){
  4.        return false;
  5.     };
  6. });

En caso de que sea un textarea deberías añadir un "textarea:focus" aparte del input:

Código Javascript:
Ver original
  1. $(document).keypress(function(e){
  2.     var element = $(document.activeElement).is("input:focus, textarea:focus");
  3.     if(e.keyCode === 8 && !element){
  4.        return false;
  5.     };
  6. });

Espero que te sirva.

Saludos.
  #3 (permalink)  
Antiguo 03/09/2013, 08:58
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: ¿Cómo desactivo el botón Backspace en el documento excepto en los inputs?

Es precisamente lo que buscaba, detectar el tipo de elemento que tiene el enfoque en el instante en que se presiona esa tecla, el único detalle está en que no se logra detectar la tecla Backspace cuando es pulsada. Probé mostrando con un mensaje de alerta el código ASCII de la tecla pulsada pero con Backspace no se muestra, sí con el resto (números, letras y otros caracteres, excepto las teclas de función).

Última edición por Alexis88; 26/11/2013 a las 21:15

Etiquetas: javascript
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:08.