2011-01-25 16 views
6

Utilizo lo siguiente para restringir al usuario a ingresar solo algunos caracteres. Cuando presiono la pestaña, el cursor no apunta al siguiente control (en Mozilla). Pero funciona bien en IE.Capturando la tecla de tabulación usando JavaScript en Firefox

// Restricts user to enter characters other than a to z, A to Z and white space() 
// Rauf K. 06.11.2010 
$("input:text.characters_only").keypress(function(e) { 
if (!((e.which >= 65 && e.which <= 90) || (e.which >= 97 && e.which <= 122) || e.which == 32 || e.which == 8 || e.which == 9)) { 
     return false; 
    } 
}); 

Respuesta

8

Recomiendo probar e.keyCode en lugar de e.which. Aquí es un SO enlace que describe un buen método para conseguir la huelga clave en una única variable independientemente: jQuery Event Keypress: Which key was pressed?

+3

No, 'keyCode' es la propiedad equivocada, porque jQuery normaliza la propiedad 'which'. La mayoría de las respuestas sobre la pregunta a la que se vincula son irremediablemente intrincadas o engañosas. –

+0

@Tim Down - No estaba recomendando todas las respuestas, solo la aceptada. –

+0

Wow. e.keyCode funciona bien en Mozilla :) – Rauf

5

Tal vez si se inicia con algo como:

if (e.keyCode === 9) { // TAB 
    return true; 
} 
Cuestiones relacionadas