Foros del Web » Programando para Internet » Javascript »

Teclado numerico con FF no me funciona !!!

Estas en el tema de Teclado numerico con FF no me funciona !!! en el foro de Javascript en Foros del Web. Hola gente !!! Tengo una funcion, que asigno a los numeros para que me abran distintas paginas ... Pero cuando utilizo el teclado numerico de ...
  #1 (permalink)  
Antiguo 22/05/2009, 08:38
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 10 meses
Puntos: 8
Pregunta Teclado numerico con FF no me funciona !!!

Hola gente !!!

Tengo una funcion, que asigno a los numeros para que me abran distintas paginas ...

Pero cuando utilizo el teclado numerico de la derecha, en FF no hace nada,
pero en opera funciona.

La funcion la uso asi ...

Código javascript:
Ver original
  1. <script type="text/javascript">
  2.  
  3. document.onkeyup = function(e){
  4. if(window.event){tecla = e.keyCode;}else if(e.which){tecla = e.which;}
  5. if(tecla == 27){ self.location.href ='inicio.php';}  //   1
  6. if(tecla == 49){ self.location.href ='ventas.php';}  //   1
  7. if(tecla == 50){ self.location.href ='gestion.php';}  //   2
  8. if(tecla == 48){ window.close();alert("SE CERRO EL SISTEMA, HASTA LUEGO !!!");} /// 0
  9.  
  10. }
  11.  
  12. </script>

Alguna idea de que podra ser ?

Saludos, Ricardo
__________________
Mail: [email protected]
  #2 (permalink)  
Antiguo 22/05/2009, 08:50
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 10 meses
Puntos: 8
Respuesta: Teclado numerico con FF no me funciona !!!

Esto es mas loco.

Si uso document.onkeyup, no funciona el teclado numerico...
Si pongo document.onkeypress, funciona, pero no me anda el ESC (27) para volver

T_T
__________________
Mail: [email protected]
  #3 (permalink)  
Antiguo 22/05/2009, 10:07
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Teclado numerico con FF no me funciona !!!

Cita:
keyCode
For keyboard events, keyCode specifies the Unicode character code generated by the key that was struck.

Javascript: The Definitive Guide 4th edition
traduccion: para eventos del teclado, keyCode indica el caracter Unicode generado por la tecla presionada.

no obstante yo pienso un tanto diferente. la tecla presionada no va necesariamente pareada con la representacion Unicode. en mi opinion, el numero que representa keyCode va a la par de acuerdo al layout del teclado. de modo que ciertas teclas como CTRL, ALT, SHIFT, HOME, END, PAGE UP, PAGE DOWN, INSERT, DELETE, etc. representan caracteres que realmente no se han presionado en el teclado. y lo mismo sucede con los diferentes layouts que integra el teclado: QWERTY y NUMBER PAD. por ejemplo, la tecla '1' en el layout QWERTY y la tecla '1' en el layout NUMBER PAD representan diferentes unicode.

pienso que esa es la parte que confunde a las gentes. naturalmente pensamos que al tener dos o mas teclas con el mismo significado humano, entendemos que asi mismo lo interpreta el sistema. a continuacion un script que representa el valor de keyCode y su representacion unicode cuando presionamos una tecla.
Código:
<head><script type="text/javascript">
document.onkeydown = function(evt){
evt = evt || event;
document.getElementById("keycode").innerHTML = evt.keyCode;
document.getElementById("unicode").innerHTML = String.fromCharCode(evt.keyCode);
evt.preventDefault? evt.preventDefault(): evt.returnValue = false;
}
</script>
<style type="text/css">
span{
font-family:monospace;
}
</style>
</head><body>
Keycode: <span id="keycode"> </span><br />
Unicode: <span id="unicode"> </span>
</body>
por tanto, la solucion en tu caso seria
Código:
if(tecla == 49 || tecla == 97){...}
if(tecla == 50 || tecla == 98){...}
if(tecla == 48 || tecla == 96){...}

Última edición por zerokilled; 22/05/2009 a las 10:13
  #4 (permalink)  
Antiguo 26/05/2009, 08:27
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 10 meses
Puntos: 8
Respuesta: Teclado numerico con FF no me funciona !!!

Cita:
Iniciado por zerokilled Ver Mensaje
por tanto, la solucion en tu caso seria
Código:
if(tecla == 49 || tecla == 97){...}
if(tecla == 50 || tecla == 98){...}
if(tecla == 48 || tecla == 96){...}
Gracias zerokilled, anda joya ahora !!!!!!

Saludos !!!
__________________
Mail: [email protected]
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 17:40.