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