de antemano muchas gracias
![Aplauso](http://static.forosdelweb.com/fdwtheme/images/smilies/aplausos.gif)
| |||
Un detalle a tomar en cuenta en este tipo de "select" (conocidos como menú de salto) es que pierde toda su usabilidad y accesibilidad si no se usa con un ratón o mouse (¿has intentado usar este tipo de menúes mediante el teclado?). |
| |||
Claro, para expandirlos ningún problema. Pero para seleccionar la opción del listado que quieres tienes dos caminos (siempre usando el teclado): 1. Recorrer la lista con la tecla FLECHA. El problema es que basta que uses 1 sola vez la flecha para que se ejecute el evento onchange que activa este tipo de menúes. 2. Como no puedes recorrer la lista de opciones con la flecha, puedes usar la tecla que corresponde a la primera letra de la opción que quieres seleccionar (por ejemplo si la opción es "Casas" usas la tecla C). El problema es que si hay más opciones que comiencen con esa letra se va a seleccionar la primera y ejecutará el menú automáticamente. |
| |||
Efectivamente el problema que dices surge, pero sólo cuando SIN ESTAR EXPANDIDO mueves los cursores o pulsas una letra que coincide con el primer carácter de alguna opción. Sin embargo, si cada vez que se va a seleccionar se expande primero la lista con <alt><flecha abajo> no hay problema usando los cursores, y el onchange sólo ocurrirá cuando se pulsa <enter>
Código:
<HTML> <HEAD> <script language="javaScript"> function prueba(obj) { alert( obj.value ); } </script> </HEAD> <BODY> <select onchange="prueba(this)"> <option value="111">opcion 1</option> <option value="222">opcion 2</option> <option value="333">opcion 3</option> </select> </BODY> </HTML> Última edición por MikiBroki; 01/10/2006 a las 15:08 |
| |||
Tienes razón, pero ocurre algo curioso con tu ejemplo: - En Ópera e Iternet Exploter ocurre exactamente como mencionas. cuando está expandido se pueden usar las flechas sin ningún problema. - En Firefox (y en general los browsers basados en Gecko) puedo usar las flechas con el menú expandido o cerrado. El evento onchange sólo se está ejecutando si uso ENETER o hago click con el mouse (?) |
| |||
Pues sí, me acabo de dar cuenta de eso, ya estamos con las puñetitas de los navegadores :( Pero vamos, sería cuestión de capturar el evento y forzar un onchange en caso de que se pulse cursor arriba/abajo |