J’ai un ensemble d’éléments de liste (
) présentés sous forme de bulles sur un graphique comme celui-ci, où les bulles sont les éléments
:
http://soffr.miximages.com/javascript/PR7vR.png
Je veux être capable de détecter la différence entre
J’ai essayé d’utiliser $(this)
dans .mouseleave()
même pour une bulle, mais cela enregistre l’élément que vous quittez plutôt que l’élément que vous êtes en train de survoler.
Des idées sur la façon d’obtenir l’élément sur lequel la souris se déplace sur mouseleave()
?
Vous devez utiliser event.toElement || e.relatedTarget
event.toElement || e.relatedTarget
:
$('li').mouseleave(function(e) { // new element is: e.toElement || e.relatedTarget });
(Edité pour noter || e.relatedTarget
pour assurer la compatibilité du navigateur)
Si vous pouvez utiliser le javascript ordinarey, chaque événement (e) survolé et déporté a un e.relatedTarget dans la plupart des navigateurs. Avant IE # 9, il y a event.toElement et event.fromElement, selon que vous écoutez un survol ou une sortie de souris.
somebody.onmouseout=function(e){ if(!e && window.event)e=event; var goingto=e.relatedTarget|| event.toElement; //do something } somebody.onmouseover=function(e){ if(!e && window.event)e=event; var comingfrom=e.relatedTarget|| e.fromElement; //do something }