2011-06-21 4 views
4

vérifierons ce code simple:comment faire correctement un événement onmouseout pour un UL?

<ul onmouseout='alert(1)'> 
    <li>aaaaaaaaaaaaaaaaaaaaaaaa</li> 
    <li>bbbbbbbbbbbbbbbbbbbbbbbbb</li> 
    <li>ccccccccccccccccccccccccc</li> 
</ul> 

L'événement onmouseout est tiré même quand je suis à l'intérieur du UL traversant le LI avec la souris.

Ceci est avec FireFox, comment puis-je faire les choses correctement, donc l'événement est déclenché quand je quitte vraiment le UL?

+0

Si vous voulez apprendre ** ** 'JavaScript', vous devriez envisager ** ** pas écouter les réponses JQuery/Prototype , mais plutôt en lisant le lien @Lourens mentionné. Quelques conseils: utilisez [JSFiddle] (http://jsfiddle.net/) pour donner votre exemple. – Baztoune

Répondre

5

Vous pouvez utiliser le jQUery mouseout ou les fonctions jQuery mouseleave pour cela, The same exists for Mootools.

EDIT

La souris sur l'événement sera déclenché à chaque fois que vous quittez un li et aller à l'autre, mais mouseleave est déclenchée uniquement à la sortie de l'ensemble de la div

$('#id').mouseleave(function(){ 
alert("left the div"); 
}); 
+0

+1 pour 'mouseleave' -' mouseout' présentera le même comportement que l'OP veut éviter. – Town

+0

l'événement 'mouseleave' ne fait pas cela. Cochez [ceci] (http://jsfiddle.net/balanivash/zqna3/1) – Balanivash

+0

Voilà ce que je dis (et donc le +1): 'mouseleave' bien,' mouseout' mauvais :) – Town

Questions connexes