Javascript 如何检测某个标签是否悬停在其上方

Javascript 如何检测某个标签是否悬停在其上方,javascript,html,Javascript,Html,我从另一个帖子中得到了下面的代码。每当id为的某个元素悬停或未悬停时,它都会向控制台发送一条消息。除了每当某个标记悬停在控制台上时,它都会向控制台发送一条消息之外,我怎么能做到同样的事情呢 function isHover(e) { return (e.parentElement.querySelector(':hover') === e); } var myDiv = document.getElementById('mydiv');; document.addEventListener

我从另一个帖子中得到了下面的代码。每当id为的某个元素悬停或未悬停时,它都会向控制台发送一条消息。除了每当某个标记悬停在控制台上时,它都会向控制台发送一条消息之外,我怎么能做到同样的事情呢

function isHover(e) {
 return (e.parentElement.querySelector(':hover') === e);
}


var myDiv = document.getElementById('mydiv');;
document.addEventListener('mousemove', function checkHover() {
 var hovered = isHover(myDiv);
 if (hovered !== checkHover.hovered) {
   console.log(hovered ? 'hovered' : 'not hovered');
   checkHover.hovered = hovered;
 }
});

--

像您正在做的那样将侦听器添加到文档中,但在mousemove处理程序中,使用
.closest
查看
目标.target
或祖先是否与特定标记匹配。例如,对于
div
s:

document.addEventListener('mousemove',({target})=>{
console.log(target.closest('div')?'div hovered':'no div hovered');
});
一些div
一些跨度
其他什么部门
div中的一些嵌套span

  • 一些li
您想要针对哪一个特定的标记?那么如何将变量放入工作中呢?例如:
ishovered
在div悬停时设置为1,而
ishovered
设置为0时设置为相反。如果我的问题听起来有点愚蠢,我对此并不完全熟悉。理想情况下,您根本不会使用持久变量,而是将悬停时的所有功能放在侦听器中。如果鼠标悬停,运行代码A(不管它是什么),否则运行代码BWell,我认为需要将变量设置为某个值,因为我的目标是使其工作如下:如果鼠标悬停在输入上,则什么都不做;如果未将鼠标悬停在输入上,请创建一个新输入。确定,然后使用
=
分配给变量