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

Javascript 使用jQuery在mouseleave()上检查光标所在的元素?,javascript,jquery,nested,mouseover,mouseleave,Javascript,Jquery,Nested,Mouseover,Mouseleave,我有一组列表元素(在中)在这样的图表上以气泡的形式排列,其中气泡是元素: 我希望能够检测出两者之间的差异 将鼠标从气泡1移动到网格 将鼠标从气泡1直接移动到另一个气泡,如气泡2 我尝试在.mouseleave()中使用$(this),即使对于气泡也是如此,但它会注册您要离开的元素,而不是您当前悬停的元素 有关如何在mouseleave()上获取鼠标移动到的元素的任何想法?您需要使用event.toElement | e.relatedTarget: $('li').mouseleave(fun

我有一组列表元素(
    中)在这样的图表上以气泡的形式排列,其中气泡是
  • 元素:

    我希望能够检测出两者之间的差异

  • 将鼠标从气泡1移动到网格
  • 将鼠标从气泡1直接移动到另一个气泡,如气泡2
  • 我尝试在
    .mouseleave()
    中使用
    $(this)
    ,即使对于气泡也是如此,但它会注册您要离开的元素,而不是您当前悬停的元素


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

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

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

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

    如果您可以使用Ordinrey javascript,则每个事件(e)鼠标悬停和鼠标移出都有 大多数浏览器中的e.relatedTarget。IE before#9有event.toElement和event.fromElement,这取决于您正在收听的是鼠标悬停还是鼠标悬停

    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
    }
    

    注意:我根据@kennebec的良好调用在上面添加的编辑-为了确保浏览器兼容性,最好参考
    e.toElement | | e.relatedTarget
    ,而不仅仅是
    e.toElement