【发布时间】:2020-07-05 09:43:16
【问题描述】:
我想检测是否有任何输入元素被悬停在上面。我下面的这段代码不起作用,因为 .hover() 函数在 if 语句发生后激活(这对我来说很奇怪)。那么还有其他方法可以做到这一点吗?
function createInput(event) {
thing = 0;
$("input").hover(function() {
thing = 1;
})
if (thing == 0) {
//create a new input bar
}
}
(我不想为此使用 jquery,因为它不起作用)
我想要这样的东西,但是下面的代码仅适用于您想要查看是否悬停具有 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;
}
});
--pure javascript to check if something has hover (without setting on mouseover/out)
【问题讨论】:
标签: javascript html