Foco en un combo, IE 6 e IE7

Hola buenas,
Estoy desarrollando una aplicación, que se tiene que poder correr en IE6 e IE7
Mi problema es, que tengo ciertas páginas que al cargarlas el foco se sitúa en un combo.
En IE7, me gusta como queda. Si haces scroll con el ratón hace la función del scroll bajando la página hasta abajo aunque el foco este en el combo. Si te sitúas encima del combo y "scroleas con el ratón" te va cambiando el combo.
Sin embargo, en IE 6 ponga donde me ponga, cuando "scroleo" me mueve el combo directamente.En vez de bajarme la página como quisiera. Tengo que pinchar y scrolear, pero no me parece muy lógico para el usuario.
¿Hay alguna opción de evitar esto?
1

1 Respuesta

52.300 pts. Siempre aprendiendo, es lo que hay ;)
Supongo que tienes algo similar a esto:
Para poner el foco sobre el combo:

<script language="JavaScript1.2"> 
function elfoco(){
document.formulario.combo.focus();}
</script>


<body bordor="0" onLoad="elfoco()">

<form name="formulario" method="post">

  <select name="combo">
    <option>selecciona</option>
    <option>1</option>
    <option>2</option>
    <option>3</option>
  </select>

</form>
En el caso de IE7 se cambia el foco según estés o no sobre un control. En IE6 parece que no, digo parece porque no he podido probarlo.
Me he vuelto loco buscando como hacerlo. El problema es que los eventos que maneja el select son muy pocos, por ejemplo, no podemos utilizar el onmouseout, que podría ser la solución. Pero al tener solo onblur, no podemos manejar el cambio de foco de esta forma ya que es el cursor el que manda, y no el ratón.
Se podría hacer algo manejando la posición del ratón, pero lo mismo, al no poder comprobar el onmouseover o el onmouseout habría que hacerlo por la posición del ratón, definiendo las áreas ocupadas por el combo, actualizando estas si se hace scroll en la página y comparando los valores de posición del combo y del ratón. Vamos, que no creo que te merezca la pena.
No se me ocurre otra forma de hacerlo.
Lo lamento, Kike

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas