Foros del Web » Programando para Internet » Javascript »

Ayuda event FF

Estas en el tema de Ayuda event FF en el foro de Javascript en Foros del Web. Hola a todos, Bueno miren mi problema es que esta función me sirve me todos los browser menos en FF Código: var KeyID = event.keyCode; ...
  #1 (permalink)  
Antiguo 06/03/2010, 00:23
 
Fecha de Ingreso: diciembre-2007
Mensajes: 927
Antigüedad: 16 años, 4 meses
Puntos: 12
Ayuda event FF

Hola a todos,

Bueno miren mi problema es que esta función me sirve me todos los browser menos en FF

Código:
var KeyID = event.keyCode;
Basicamente quiero saber si el usuario ha tecleado algo, mas que nada las flechas del cursos.

Código:
document.onkeyup = KeyCheck;
Pero quiero que las cheque siempre, no solo en un textfield

Y bueno como les comento no funciona en Fire Fox

salu2

Última edición por Edig; 19/03/2010 a las 18:34
  #2 (permalink)  
Antiguo 06/03/2010, 03:46
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: Ayuda event FF

Hola Edig

Para FF prueba con:

Código Javascript:
Ver original
  1. e.which

Saludos,
  #3 (permalink)  
Antiguo 06/03/2010, 13:00
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Ayuda event FF

Estás seguro que ese código sirve para cualquier navegador menos FF? no será que sirve para cualquier versión de Internet Explorer? Ese modo de emplear el objeto Event que yo sepa solo sirve en Internet explorer, en todo caso lo que yo haría sería esto:

Código:
document.onkeyup = keyCheck;  
/* He cambiado la primera letra a minúscula porque así se estila en JavaScript */
Código:
function keyCheck(evt) {
   if (navegador() == 'IE') evt = Event;
  
   var key = evt.keyCode;
}
La función navegador() es una función que detecta si el navegador en uso es el odioso IE u otro. Ejemplos de esas funciones hay cantidad en la Red. Espero que te sirva, suerte!
  #4 (permalink)  
Antiguo 06/03/2010, 21:05
 
Fecha de Ingreso: diciembre-2007
Mensajes: 927
Antigüedad: 16 años, 4 meses
Puntos: 12
Respuesta: Ayuda event FF

Hola javer,

no me funciono en nigun navegador, en FF me dice

e is not defined


y elJavista

No me funciona :S

Salu2, alguna otra idea?
  #5 (permalink)  
Antiguo 08/03/2010, 07:49
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Ayuda event FF

Si no te funciona es que algo mal estás haciendo porque ese código está bien. En ese código la función navegador() no está definida, tiene que definirse buscando un código que lo haga. Yo no te lo he puesto porque es bien fácil encontrar uno en Internet. Podrías ponerme el código de esa función que haz encontrado y puesto.
  #6 (permalink)  
Antiguo 08/03/2010, 12:07
 
Fecha de Ingreso: diciembre-2007
Mensajes: 927
Antigüedad: 16 años, 4 meses
Puntos: 12
Respuesta: Ayuda event FF

Eljavista eso ya lo se pero el problema es que eso solo sirve para IE [el code que diste]. Y para IE si sirve mi code. No sirve para FF
  #7 (permalink)  
Antiguo 08/03/2010, 12:35
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Ayuda event FF

Definitivamente estás haciendo algo mal porque acabo de probar el código y funciona ok, talvez sea una letra que deba ir en minúscula y tú la tienes en mayúscula o algo así. De todos modos, repito, ese código está probado.
  #8 (permalink)  
Antiguo 08/03/2010, 17:26
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 6 meses
Puntos: 101
Respuesta: Ayuda event FF

Intenta así:
Código Javascript:
Ver original
  1. function KeyCheck(evt){
  2. var evt=!evt?event:evt,keyId= evt.keyCode || evt. which;
  3. alert(keyId);
  4. }
__________________
Half Music - www.halfmusic.com
  #9 (permalink)  
Antiguo 08/03/2010, 21:17
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Ayuda event FF

fijate que que raro, por que keyCode si funciona en FF. Lo que no te está funcionando es el event, por lo que de nada te va a servir usar wich ya que si FF no te está capturando el evento no va a poder acceder a esas propiedades.

Prueba así:

function tuFuncion(e){
var ev = e || window.event;

alert(ev.keyCode);
}

verás que funciona en FF. Eljavista, calculo que la razón por la que tu code no le funciona es por que no tiene definida la función navegador() por lo que cuando hace el if() obtiene false y se va a usar el evento de la forma en que ie lo usa.
__________________
twitter: @imbuzu
  #10 (permalink)  
Antiguo 09/03/2010, 07:43
 
Fecha de Ingreso: diciembre-2007
Mensajes: 927
Antigüedad: 16 años, 4 meses
Puntos: 12
Respuesta: Ayuda event FF

Entendido lo pruebo y les aviso :)
  #11 (permalink)  
Antiguo 19/03/2010, 18:33
 
Fecha de Ingreso: diciembre-2007
Mensajes: 927
Antigüedad: 16 años, 4 meses
Puntos: 12
Respuesta: Ayuda event FF

Hola,

perdon por doble post pero

Ya lo probe y no sirvio nada

Error en FF: event is not defined

Código Javascript:
Ver original
  1. document.onkeyup = KeyCheck;
  2. function KeyCheck(){
  3.     var KeyID = event.keyCode;
  4.  
  5. if(KeyID == 37) {
  6.         //left
  7.         movimiento(-32, 0, 3, 'user');
  8.     }else if(KeyID == 38) {
  9.         //arriba
  10.         movimiento(0, -32, 0, 'user');
  11.     }else if(KeyID == 39) {
  12.         //derecha
  13.         movimiento(32, 0, 2, 'user');
  14.     }else if(KeyID == 40) {
  15.         //abajo
  16.         movimiento(0, 32, 1, 'user');
  17.     }
  18. }

ese es el code
  #12 (permalink)  
Antiguo 20/03/2010, 21:13
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Ayuda event FF

Bueno, ahora te lo pongo en base a tu código:

Código Javascript:
Ver original
  1. document.onkeyup = KeyCheck;
  2. function KeyCheck(evt){
  3.         if (!evt) evt = window.event;
  4.  
  5.     var KeyID = evt.keyCode;
  6.  
  7. if(KeyID == 37) {
  8.         //left
  9.         movimiento(-32, 0, 3, 'user');
  10.     }else if(KeyID == 38) {
  11.         //arriba
  12.         movimiento(0, -32, 0, 'user');
  13.     }else if(KeyID == 39) {
  14.         //derecha
  15.         movimiento(32, 0, 2, 'user');
  16.     }else if(KeyID == 40) {
  17.         //abajo
  18.         movimiento(0, 32, 1, 'user');
  19.     }
  20. }

Lo acabo de probar, funciona tanto en I.E. como en F.F.
  #13 (permalink)  
Antiguo 21/03/2010, 11:27
 
Fecha de Ingreso: diciembre-2007
Mensajes: 927
Antigüedad: 16 años, 4 meses
Puntos: 12
Respuesta: Ayuda event FF

Muchísimas Gracias funciona en FF, IE, Safari

Gracias!

Etiquetas: eventos
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 20:10.