您知道如何检查鼠标是否在元素上吗?
这样的东西?
setTimeout(function() {
if($(this).mouseover()) { // this not work
return false;
} else {
$(this).hide();
}
}, 1000);
感谢。
答案 0 :(得分:2)
您可以使用以下内容:
var isMouseOver = false;
$(myitem).hover(function() {isMouseOver = true;},
function() {isMouseOver = false;});
答案 1 :(得分:1)
我假设你在一个闭包中操作,'this'代表一个元素:
var mouseovered = false,
myElem = this;
$(myElem)
.mouseover(function(){
mouseovered = true;
})
.mouseout(function(){
mouseovered = false;
});
setTimeout(function() {
if(mouseovered) {
return false;
} else {
$(myElem).hide();
}
}, 1000);
请注意,我使用的是“myElem”而不是“this”关键字,在setTimeout回调的上下文中,它将是对Window对象的引用 - 显然不是你想要的。
答案 2 :(得分:0)
在有问题的元素上使用onmouseover事件来调用一个函数来隐藏有问题的元素(因为这似乎是你想要做的)。