Foros del Web » Programando para Internet » Javascript »

Script onkeypress

Estas en el tema de Script onkeypress en el foro de Javascript en Foros del Web. Hola, necesito un script para que al presionar una de las flechas se realize una funcion. Lo unico que se es que las flechas son: ...
  #1 (permalink)  
Antiguo 17/03/2010, 18:53
 
Fecha de Ingreso: marzo-2010
Mensajes: 17
Antigüedad: 14 años, 1 mes
Puntos: 1
Script onkeypress

Hola, necesito un script para que al presionar una de las flechas se realize una funcion.

Lo unico que se es que las flechas son:
37: left
38: up
39: right
40: down

Entonces lo que quiero seria algo asi:

if (arrow==37)
{
left()
}

if (arrow==38)
{
up()
}

Preferentemente que funcione en FireFox y de ser posible en IE.

Gracias.
  #2 (permalink)  
Antiguo 18/03/2010, 05:43
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Script onkeypress

Hola

Prueba así

Código Javascript:
Ver original
  1. function compruebaTecla (evento) {
  2. var keyCode = document.layers ? evento.which : document.all ? event.keyCode : document.getElementById ? evento.keyCode : 0;
  3.  
  4. if (keyCode == 39)
  5. funcion ();
  6. else if (keyCode == 40)
  7. funcion ();
  8. else if (keyCode == 38)
  9. funcion ();
  10. else if (keyCode == 37)
  11. funcion ();
  12. return true;
  13. }

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 20/03/2010, 20:55
 
Fecha de Ingreso: marzo-2010
Mensajes: 17
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Script onkeypress

Mmm, no se si es que no funciona o si no se como hacerlo funcionar :p

Lo unico que tengo que hacer es poner en el body onload='compruebaTecla (evento);' y poner ese script en alguna parte de la pagina no?
  #4 (permalink)  
Antiguo 21/03/2010, 06:56
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Script onkeypress

Hola

No, has de hacerlo con el evento onkeydown, onkeypress
Código Javascript:
Ver original
  1. function compruebaTecla (evento) {
  2. var keyCode = document.layers ? evento.which : document.all ? event.keyCode : document.getElementById ? evento.keyCode : 0;
  3.  
  4. if (keyCode == 39)
  5. funcion ();
  6. else if (keyCode == 40)
  7. funcion ();
  8. else if (keyCode == 38)
  9. funcion ();
  10. else if (keyCode == 37)
  11. funcion ();
  12. return true;
  13. }
  14.  
  15.  
  16. document.onkeydown = compruebaTecla;

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 21/03/2010, 22:54
 
Fecha de Ingreso: marzo-2010
Mensajes: 17
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Script onkeypress

Funciona perfecto, muchas gracias!

Edit: otra cosa... como hago para que antes de hacer una de esas funciones al presionar las flechas compruebe el value de un id si es 1 o 0?

yo puse esto pero no me funcionó:

Código:
function compruebaTecla (evento) {
var keyCode = document.layers ? evento.which : document.all ? event.keyCode : document.getElementById ? evento.keyCode : 0;
var checkId = document.getElementById('move').value;
 
if (keyCode == 39 && checkId == 1)
funcion ();
else if (keyCode == 40 && checkId == 1)
funcion ();
else if (keyCode == 38 && checkId == 1)
funcion ();
else if (keyCode == 37 && checkId == 1)
funcion ();
return true;
}
 
 
document.onkeydown = compruebaTecla;

Última edición por pezcri; 22/03/2010 a las 22:10
  #6 (permalink)  
Antiguo 22/03/2010, 22:10
 
Fecha de Ingreso: marzo-2010
Mensajes: 17
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Script onkeypress

Tambien si no es mucho pedir hay alguna forma de poner un delay para que una vez que se haga una de esas funciones no se pueda volver a apretar las flechas por 1 o 2 segundos o hasta que se termine de ejecutar esa funcion?
  #7 (permalink)  
Antiguo 26/03/2010, 00:03
 
Fecha de Ingreso: marzo-2010
Mensajes: 17
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Script onkeypress

alguien???

Etiquetas: onkeypress
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 15:29.