Foros del Web » Creando para Internet » HTML »

¿Problema con Firefox y onkeypress?

Estas en el tema de ¿Problema con Firefox y onkeypress? en el foro de HTML en Foros del Web. Hola gente. Resulta que me he puesto a diseñar un menú y lo estoy probando con Firefox 1.0.. Al probar el evento onkey press responde ...
  #1 (permalink)  
Antiguo 26/02/2005, 16:29
 
Fecha de Ingreso: diciembre-2003
Ubicación: Salamanca
Mensajes: 123
Antigüedad: 20 años, 11 meses
Puntos: 3
¿Problema con Firefox y onkeypress?

Hola gente.
Resulta que me he puesto a diseñar un menú y lo estoy probando con Firefox 1.0.. Al probar el evento onkey press responde con cualquier tecla, con lo cual no se puede navegar con el tabulador. Con la primera pulsación se posiciona y al querer cambiar activa el enlace en lugar de situarse en el siguiente.
Lo he probado con Konkeror y va bien (aún no o he probado con otros). ¿Sabeis si existe algún error o es que yo me estoy olvidadno de algo?
Muchas gracias.
Roberto
  #2 (permalink)  
Antiguo 26/02/2005, 19:35
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años, 6 meses
Puntos: 7
creo que estas olvidando que onkeypress no es soportado por todos los navegadores...
  #3 (permalink)  
Antiguo 27/02/2005, 03:01
 
Fecha de Ingreso: diciembre-2003
Ubicación: Salamanca
Mensajes: 123
Antigüedad: 20 años, 11 meses
Puntos: 3
Pero si que responde a la pulsación, lo que ocurre es que no distingue con cual.
De todas formas no creo que firefox ignore onkeypress pues se supone que respeta los estándares y onkeypress es el 'compañero' de onclick, obligatorio para cumplir con la accesibilidad.
Muchas gracias por la respuesta.
Roberto
  #4 (permalink)  
Antiguo 27/02/2005, 03:37
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Hola dobeto

Llama a la función así:

onkeypress="tufuncion(event)";

Para saber que tecla se ha pulsado puedes hacer esto:

function tufuncion(e) {
tecla=(document.all) ? e.keyCode : e.which;

El código en verde es para Explorer y el código en rojo es para Firefox (entre otros)

Espero que te sirva. Saludos,
  #5 (permalink)  
Antiguo 27/02/2005, 04:01
 
Fecha de Ingreso: diciembre-2003
Ubicación: Salamanca
Mensajes: 123
Antigüedad: 20 años, 11 meses
Puntos: 3
Hola Javier.
Creo que haré lo que me dices, no quería escribir js más que lo imprescindible
Muchas gracias.
  #6 (permalink)  
Antiguo 27/02/2005, 04:21
 
Fecha de Ingreso: diciembre-2003
Ubicación: Salamanca
Mensajes: 123
Antigüedad: 20 años, 11 meses
Puntos: 3
me riiiiiiiiiiiindo!!!!
Al pulsar el tabulador se llama a la función, con lo cual deja de cumplir su función, así que la misma función debería mandar el foco al siguiente elemento si no quisiera activar el enlace... pero XHTML1.1 no admite onfocus para div...
Para llorar... no me queda más que advertirlo a los usuarios que entren con firefox (navegador que recomendaré en la misma web).
¿Alguna solución?
Muchísimas gracias.
  #7 (permalink)  
Antiguo 27/02/2005, 16:15
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 9 meses
Puntos: 9
¿les has asignado tabindex?
  #8 (permalink)  
Antiguo 27/02/2005, 16:19
 
Fecha de Ingreso: diciembre-2003
Ubicación: Salamanca
Mensajes: 123
Antigüedad: 20 años, 11 meses
Puntos: 3
Si, todos los enlaces tienen tabindex y tecla de acceso.
El sitio (el proyecto) es válido aaa y xhtml1.1, pero al probarlo me he dado cuenta del error
  #9 (permalink)  
Antiguo 28/02/2005, 10:19
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Hola de nuevo.

Prueba esto otro:

function tufuncion(e) {
tecla=(document.all) ? e.keyCode : e.which;
if(tecla==9) return;

Si pulsas la tecla tabulador (código 9) la función termina y no se ejecutará el javascript que tengas después.

Espero que te sirva. Saludos,
  #10 (permalink)  
Antiguo 28/02/2005, 11:34
 
Fecha de Ingreso: diciembre-2003
Ubicación: Salamanca
Mensajes: 123
Antigüedad: 20 años, 11 meses
Puntos: 3
Hola de nuevo.
El problema es que al llamar a la funcion el tabulador no hace saltar el foco.
En el foro de Mozilla he dejado un mensaje como este y alguien me ha dicho que cree saber que pasa, asi que ya os diré si hay solución, de momento pensaré que es culpa de Firefox
Muchas gracias por tu ayuda y tu tiempo
Saludos.
dobeto
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 22:36.