当然,在JavaScript的帮助下。
答案 0 :(得分:3)
最简单的方法是处理元素的onmouseover
和onmouseout
事件:
element.onmouseover = function (e)
{
e = e || window.event;
alert("You moused over "+element.outerHTML);
}
element.onmouseout = function (e)
{
e = e || window.event;
alert("You moused out of "+element.outerHTML);
}
如果元素是这些坐标的最顶层元素,您也可以使用document.elementFromPoint(x, y)
:
var mouseX = 0, mouseY = 0;
document.documentElement.onmousemove = function (e)
{
e = e || window.event;
mouseX = e.clientX;
mouseY = e.clientY;
}
function getElementUnderMouse()
{
return document.elementFromPoint(mouseX, mouseY);
}
显然,如果你有一些阻止onmousemove
事件传播/冒泡的元素,鼠标位置可能不正确,同时将鼠标悬停在这些元素上。
答案 1 :(得分:2)
onMouseover,onMouseout事件开火。
答案 2 :(得分:1)
在下面的示例中,如果将鼠标悬停在div上,它将变为蓝色。
如果你将onmouseover放置到完整的BODY,那么你可以检查一个条件(ID,className,tagName,...),如果你想对你正在覆盖的元素做一些事情。
<html>
<head>
<title>so</title>
</head>
<body>
<div>div 1</div>
<div>div 2</div>
<div>div 3</div>
<script>
document.body.onmouseover = function(ev){
var elm = ev.target || ev.srcElement;
if(elm.tagName === 'DIV'){
elm.style.backgroundColor = "#DEF";
}
};
</script>
</body>
</html>