On 6/23/06, Gunther Gonzalez <[EMAIL PROTECTED]> wrote:
> Tengo unos elementos INPUT a los que les quiero cambiar el color de fondo,
> color de los bordes etc. cuando se le pase el raton por encima. Exactamente
> lo mismo que hace la PseudoClase :hover en CSS.
>
> Pero como IE no soporta :hover en los Input quiero hacerlo a traves de el
> evento "OnMouseOver" y que sea No Intrusivo.
>
> El problema es que ya tengo las funciones listas pero no logro ejecutarlas.
>
> Tengo todo en un JS externo pero no sé cómo llamar a las funciones con el
> evento onmouseover de manera No Intrusiva. No se como capturar este evento
> desde un JS externo.

Bueno, el proceso será:

1. Añadir un manejador H del evento window.onload;
2. Definir la función H que
   2.1. recogerá una colección de elementos input
   2.2. recorrerá dicha colección añadiendo a cada elemento un
manejador de onmouseover y un manejador de onmouseout.

Deberás adecuar el código para poder utilizar varios manejadores de
eventos en window.onload [1], considerar navegadores no soportados,
contemplar tanto textareas como inputs, decidir si también te
interesan los checkboxes, selects, etc.

[1]: http://simon.incutio.com/archive/2004/05/26/addLoadEvent

Pero vaya, el esqueleto es tan sencillo como esto:

window.onload = function() {
  var inputs = document.getElementsByTagName('input');
  for (var i = 0, el; (el = inputs[i]); ++i) {
      el.onmouseover = mouseoverhandler;
      el.onmouseout  = mouseouthandler;
  }
};

Y en algún lugar...

function mouseoverhandler() {
  // lo que fuere. 'this' hará referencia al elemento que ha disparado el evento
}

function mouseouthander() {
  // lo que fuere. 'this' hará referencia al elemento que ha disparado el evento
}

> ¿Alguien me podra decir como se hace? ¿Como capturar el evento MouseOver con
> JS No Intrusivo?

Creo que queda dicho, ¿no? Otra cosa será que te interese mantener
varios manejadores para los eventos... En tal caso, te recomiendo
vivamente las funciones de eventos de Dean Edwards [2].

[2]: http://dean.edwards.name/weblog/2005/10/add-event/

Y quien diga que para esto lo mejor es usar Prototype, se lleva dos hostias ;)

Por cierto, una lectura muy recomendable (para los que os manejéis
bien con el inglés, dominéis el javascript y tengáis un buen rato): la
transcripción de la charla de PPK, Dan Webb, Dean Edwards, Simon
Willinson y otros cracks en @media2006 con el tema "librerías, ¿amigas
o enemigas?" [3].

[3]: http://www.paulhammond.org/2006/06/atmedia2/javascript

Salud.
-- 
Choan
<http://dizque.lacalabaza.net/>
<http://choangalvez.nom.es/>
_______________________________________________
javaEScript mailing list
[email protected]
http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net

Responder a