Foros del Web » Programando para Internet » Javascript »

focus y tab

Estas en el tema de focus y tab en el foro de Javascript en Foros del Web. Hola a todos, tengo un menu en un div formado por elementos de una lista ul que usan hipervinculos... de esta forma <div id=""menu"> <ul> ...
  #1 (permalink)  
Antiguo 08/12/2008, 13:28
 
Fecha de Ingreso: octubre-2008
Mensajes: 58
Antigüedad: 15 años, 6 meses
Puntos: 0
focus y tab

Hola a todos, tengo un menu en un div formado por elementos de una lista ul que usan hipervinculos... de esta forma
<div id=""menu">
<ul>
<li><a href="noticias.htm">Noticias</a></li>
<li><a href="contacto.htm">Contacto</a></li>
</ul>
</div>

Lo que quiero hacer, es que al cargar la pagina, el 1º elemento del menu (noticias) aparesca seleccionado como si tuviera el mouse sobre el... (con los otros colores seteados en a:hover). Lo mismo con cualquier elemento que se vaya seleccionando via tecla tab.... la idea es lograr el ejecto del mouse sin ocuparlo....

Antes, no tenia el menu en una lista, sino solo los elementos "a" dentro del div y quice sleccionar el 1er hipervinculo asi:

window.onload = function() {
var menu = document.getElementById("menu");
var enlaces = menu.getElementByTagName("a");
enlaces[0].focus();
}

pero por algun motivo cualquier linea bajo la 1era de la funcion (var menu = .... ) no se ejecuta, como si estuviera mal escrita o tuviera algun error. Tambien he probado colocando un id al primer enlace y usar solo la primera y tercera linea pero no me funciona... :(
Por favor, como lo podria hacer?

jedo
  #2 (permalink)  
Antiguo 08/12/2008, 13:39
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: focus y tab

Hola jedo

Que yo sepa, focus sólo funciona en elementos de formulario.

Puedes poner así el código Css:

Código css:
Ver original
  1. a:hover, .foco {color:green}

y el menú:

Código html:
Ver original
  1. <li><a class="foco" href="noticias.htm">Noticias</a></li>

Saludos,
  #3 (permalink)  
Antiguo 08/12/2008, 14:21
 
Fecha de Ingreso: diciembre-2008
Mensajes: 4
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: focus y tab

Buenas,

Al crear la función tienes dos problemas:

- La función es getElementsByTagName("a");
- var enlaces = menu.getElementsByTagName("a"); No funciona utliza mejor directamente var enlaces = document.getElementsByTagName("a");

A mi me ha fucionado con:

window.onload = function() {

var enlaces = document.getElementsByTagName("a");
enlaces[0].focus();


}

Saludos
  #4 (permalink)  
Antiguo 08/12/2008, 15:32
 
Fecha de Ingreso: octubre-2008
Mensajes: 58
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: focus y tab

Muchas gracias por las respuestas. Gracias Truky, quedo seleccionado como queria ;)
Ahora, solo me queda cambiar los atributos de color solo cuando el elemento este seleccionado... Javier, aplicando la clase .foco que queda siempre el color cambiado, como se hace para cambiarlo solo cuando tenga foco??
gracias

jedo
  #5 (permalink)  
Antiguo 08/12/2008, 15:59
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: focus y tab

Muy buen ojo truky.

Jedo, te recomiendo que uses algún debugger. Para mi la consola de firefox me es suficiente, aun que tambien tengo instalado el firebig. La consola de firefox te habría tirado el problema desde un principio.
__________________
twitter: @imbuzu
  #6 (permalink)  
Antiguo 09/12/2008, 03:30
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: focus y tab

Cita:
Iniciado por JavierB Ver Mensaje
Que yo sepa, focus sólo funciona en elementos de formulario.
Rectifico: sí funciona con enlaces

Saludos,
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 02:38.