ejemplo - Javascript e.keyCode no captura Backspace/Del en IE
keycode jquery (2)
Estoy tratando de atrapar el evento urgente de las teclas Retroceso y Eliminar usando javascript / jQuery con este tipo de código.
$("textarea[name=txt]").keypress(function(e){
var keycode = e.keyCode ? e.keyCode : e.which;
if(keycode == 8){ // backspace
// do somethiing
alert(keycode);
}
if(keycode == 46){ // delete
// do somethiing
alert(keycode);
}
});
Estas líneas de código funcionan perfectamente en Firefox (3.6.12). Eso significa que la alerta aparece cuando se presiona Retroceso o Eliminar. Pero esto no funciona en Internet Explorer (8)
¿Alguien me puede sugerir una forma diferente de detectar estos eventos clave de prensa en Internet Explorer?
Key Code for Backspace tomará el valor = 83 si ya tenemos algunos caracteres en un cuadro de texto.
El código clave será = 8 si NO hay caracteres en el cuadro de texto y estamos intentando pulsar Retroceso.
Si desea admitir IE y utiliza teclas especiales (como delete
y backspace
), le sugiero que utilice keydown
/ keyup
en keyup
lugar.
Llaves especiales
Explorer no dispara el evento de pulsación de tecla para eliminar, finalizar, ingresar, escapar, teclas de función, inicio, insertar, subir / bajar página y tabular.
Si necesita detectar estas claves, hágase un favor y busque su KeyCode onkeydown / up , e ignore onkeypress y charCode.
Puede leer más sobre los problemas del navegador cruzado de Detección de pulsaciones de teclas (modo Quirks) .