我有一组列表元素(<li>
在 a 内<ul>
)在这样的图表上布置为气泡,其中气泡是<li>
元素:
http://i.stack.imgur.com/PR7vR.png
我希望能够检测到
- 将鼠标从气泡 #1 移动到网格
- 将鼠标从气泡 #1直接移动到另一个气泡,例如气泡 2
我曾尝试$(this)
将.mouseleave()
偶数用于气泡,但它会注册您要离开的元素,而不是您当前悬停的元素。
关于如何获取鼠标移动到的元素的任何想法mouseleave()
?
我有一组列表元素(<li>
在 a 内<ul>
)在这样的图表上布置为气泡,其中气泡是<li>
元素:
http://i.stack.imgur.com/PR7vR.png
我希望能够检测到
我曾尝试$(this)
将.mouseleave()
偶数用于气泡,但它会注册您要离开的元素,而不是您当前悬停的元素。
关于如何获取鼠标移动到的元素的任何想法mouseleave()
?
您需要使用event.toElement || e.relatedTarget
:
$('li').mouseleave(function(e)
{
// new element is: e.toElement || e.relatedTarget
});
(编辑注释|| e.relatedTarget
以确保浏览器兼容性)
如果您可以使用 ordinarey javascript,则在大多数浏览器中,每个事件 (e) 鼠标悬停和鼠标移出都有一个 e.relatedTarget。#9 之前的 IE 具有 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
}