JavaScript - Problemas con eventos onMouseOver y onMouseOut

 
Vista:

Problemas con eventos onMouseOver y onMouseOut

Publicado por Juan Carlos (2 intervenciones) el 24/02/2007 17:45:14
Bueno el problema que tengo con estos dos eventos pues . que me e dado cuenta que estos eventos se ejecutan cuando pasan por cualquier elemento que estee dentro de ellos ejemplo.

si yo tengo una tabla por ejemplo.

<table border="1" cellspacing="0" cellpadding="0"
onMouseOver="alert('estoy adentro ')" onMouseOut="alert('estoy afuera')" >

<tr>
<td ><a href="menu1.html" >Menu 1</a></td>
</tr>
<tr>
<td><a href="link1.html">Link 1</a></td>
</tr>
<tr>
<td><a href="link1.html">Link 2</a></td>
</tr>
<tr>
<td><a href="link1.html">Link 3</a></td>
</tr>
</table>

Estos dos eventos estan ejecutandoce dentro de la tabla no respetan si salen de ella o entran.
ya que no les importa eso solo se ejecutan una y otra vez adentro de la tabla .
esto lo pueden ver cuando le mandan un mensaje con el alert porque de otra manera no se podria apresiar este comportamiento. no se como se podria evitar esto que solo se ejecute una vez el evento onMouseOver y el evento onMouseOut. mandando el mensaje del alert..

pues esto lo nesecito para algo muy especial. y pues no quiero que pase esto que explique.

no habria problemas si quiero hacer algo simple como cuando pasa por ensima cambie el color de fondo de la tabla o cuando sale pues vuelva el mismo color.

porque esto es estatico si efectos y estos compartamientos de arriba no le afectan en nada porque los cambios son inmediatos.

pero que pasa si es que quiero por ejemplo que cuando entre el mouse a la tabla pues apareca otra tabla con un efecto de se le ahumento el ancho poco a poco , usando un setTimeout por ejemplo. ahi es cuando se tiene el problema. como los dos eventos se ejecutan varias vecen dentro de la tabla pues los efectos de la nueva tabla con setTimeout pues se vuelven locos.

Pido ayuda , en este caso no se si alguien le habra pasado esto cosa que haci me pueden echar la mano en esto. porque la verdad ya agote todas mis posibilidades de seguir avanzando con lo que tengo que hacer.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con eventos onMouseOver y onMouseOut

Publicado por Gonzalo (107 intervenciones) el 25/02/2007 10:04:53
El problema no es que se ejecuten una y otra vez, es que, sin darte cuente, tú estás haciendo que se ejecuten una y otra vez.

Me explico. Lo que tienes dentro de la tabla son unos enlaces. Cada vez que te pones sobre uno de los enlaces, dejas de estar sobre la tabla para estar sobre el enlace.
Si, por ejemplo, una celda de la tabla es así:
-----------------
| XXXXXXXX |
-----------------
Donde XXXXXX es el enlace, ocurre el mouseover y mouseout de la tabla, cada vez que entras o sale de los pequeños huecos de la tabla donde no hay enlace. Pero en cuanto te pones sobre el enlace, el foco del mouseover pasa al enlace, con lo que ocurre el mouseout de la tabla.

Hay que tener mucho cuidado al utilizar el mouseout en un elemento contenedor (como una tabla), porque puede ser que no es que hayamos salido realmente del elemento, sino que nos hayamos puesto sobre un elemento que está dentro del contenedor.

Si no te importa el inglés, tienes una explicación bastante buena aquí: http://www.faqts.com/knowledge_base/view.phtml/aid/1606/fid/145

Si tengo tiempo, intentaré traducirlo luego.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con eventos onMouseOver y onMouseOut

Publicado por Juan Carlos (2 intervenciones) el 26/02/2007 15:11:01
Hola Gonzalo.
Gracias por responder.

Ya ayer resolvi este tema con la ayuda de otro forista.
me dio este link

http://kusor.net/traducciones/brainjar.es/events6.es.html

esta en castellanjo muy bueno habla del tema esto de los eventos del mouse
ahora leere este link que me has puesto no soy muy buen en el ingles pero intentare.

muchas gracias amigo .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar