鼠标悬停时获取任何标记的ID

时间:2010-04-25 00:31:47

标签: javascript dom html

有人知道当鼠标结束时我怎么能得到任何元素的id?

我想在鼠标结束的元素(标签)上显示div(框)。 我无法修改标签以包含一个mousover事件。我想要一个全局回调或类似的东西,以获得鼠标指针下的标记的id。

谢谢!

3 个答案:

答案 0 :(得分:9)

您的意思是您需要onmouseover事件的target,因此您可以访问该元素的属性:

<script>
document.onmouseover = function(e) {
    console.log(e.target.id);
}
</script>

查看Event Properties以获取目标的跨浏览器方式(以下示例来自上述网站):

function doSomething(e) {
    var targ;
    if (!e) var e = window.event;
    if (e.target) targ = e.target;
    else if (e.srcElement) targ = e.srcElement;
    if (targ.nodeType == 3) // defeat Safari bug
        targ = targ.parentNode;
}

所以把它们放在一起:

document.onmouseover = function(e) {
    var targ;
    if (!e) var e = window.event;
    if (e.target) targ = e.target;
    else if (e.srcElement) targ = e.srcElement;
    if (targ.nodeType == 3) // defeat Safari bug
        targ = targ.parentNode;
    console.log(targ.id);
}

答案 1 :(得分:0)

可能不是你想要的。但如果您使用Firefox的Web开发人员工具,您可以选择信息 - &gt;显示ID和类详细信息。这将显示页面上每个元素的ID和类信息。也使用CSS - &gt;查看样式信息将允许您将鼠标悬停在元素上,并在将鼠标悬停在元素上时单独显示其类和ID层次结构。我只提供此解决方案,因为我假设您不希望用户可以使用该功能,而是作为调试网站的工具。

答案 2 :(得分:0)

尝试

function Test(e) {
    alert(e.id);
}

<div id="newww" class="editor2 draggable1" style="position:absolute;top:100px;left:100px;border: 1px solid #aaaaaa;" onmouseover="Test(this)">
</div>