使用jQuery检查mouseleave()上光标所在的元素?

我有一组列表元素(

  • 中的
  • )在这样的图表上布局为气泡,其中气泡是
  • 元素:

    http://sofzh.miximages.com/javascript/PR7vR.png

    我希望能够发现它们之间的区别

    1. 将鼠标从气泡#1移动到网格
    2. 将鼠标从气泡#1 直接移动到另一个气泡,例如气泡2

    我试图在.mouseleave()使用$(this) ,即使是泡泡,但是它会记录你要离开的元素而不是你当前正在hover的元素。

    关于如何在mouseleave()上获取鼠标移动元素的任何想法?

    您需要使用event.toElement || e.relatedTarget event.toElement || e.relatedTarget

     $('li').mouseleave(function(e) { // new element is: e.toElement || e.relatedTarget }); 

    (编辑注意|| e.relatedTarget以确保浏览器兼容性)

    如果你可以使用常规javascript,那么每个事件(e)鼠标移出和鼠标移出都会在大多数浏览器中都有一个e.relatedTarget。 #9之前的IE有event.toElement和event.fromElement,具体取决于你是在听mouseover还是mouseout。

     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 }