【问题标题】:In javascript, is it possible for me to return the element of any DOM element I'm hovering over?在 javascript 中,我是否可以返回我悬停的任何 DOM 元素的元素?
【发布时间】:2021-02-10 05:18:27
【问题描述】:

例如,如果我有这样的 HTML sn-p:

<body>
    <div id="1">
        <span class="title">I'm a title!</span>
    </div>
    <div id="2">I'm the first element!</div>
    <div id="3">I'm the first element!</div>
<body>

显然,如果我想获得一个特定的元素,比如 id 为 1 的 div,我可以这样做

document.getElementById("1").addEventListener("mouseover", () => console.log("in div 1!"), false);

每当我将鼠标悬停在它上面时,它就会输出in div 1!。但是有没有一些javascript可以应用于body中的每个元素?基本上写一些函数,getElementUserIsHoveringOver()?

我认为 addEventListener 不适用于 HTMLCollections,这是我唯一的想法。

【问题讨论】:

    标签: javascript html hover event-listener


    【解决方案1】:

    mouseover 冒泡,因此如果您将侦听器附加到&lt;body&gt;,您可以观察事件并记录event.target

    document.body.addEventListener('mouseover', (e) => {
      console.log(e.target);
    });
    <div id="1">
        <span class="title">I'm a title!</span>
    </div>
    <div id="2">I'm the first element!</div>
    <div id="3">I'm the second element!</div>

    【讨论】:

    • 这正是我想要学习的!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 2020-07-14
    • 2011-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多