Cuando estamos haciendo el típico menú desplegable por Javascript que despliega al pasar el puntero por encima de algún elemento puede ocurrir que se active el evento onmouseout
sin que se salga del área que ocupa el elemento (cuando tiene más elementos dentro) sobre el que se hizo el onmouseover
.
Pero ese problema tiene fácil solución.
Existen dos posibilidades:
- Calcular las coordenadas que limitan el elemento en el espacio de la página y mediante el evento
mousemove
saber en que coordenadas está el puntero. Si las coordenadas del puntero dejan de coincidir dentro del área del elemento, se oculta el desplegable. - O también se pueden sustituir los eventos
onmouseover
yonmouseout
poronmouseenter
yonmouseleave
.
Visto en Problems with jQuery mouseover / mouseout events (enlace externo, en inglés).