2009-06-02 68 views
0

你知道如何检查鼠标是否在某个元素上?如何验证鼠标悬停在某个元素上?

Somethnig这样吗?

setTimeout(function() { 
    if($(this).mouseover()) { // this not work 
     return false; 
    } else { 
     $(this).hide(); 
    } 
}, 1000); 

谢谢。

回答

2

你可以使用这样的事情:

var isMouseOver = false; 

$(myitem).hover(function() {isMouseOver = true;}, 
       function() {isMouseOver = false;}); 
0

使用onmouseover事件的元素上有问题调用一个函数隐藏有问题的元素(因为这似乎是你想要做什么)。

1

我假设你是一个封闭其中“这个”代表一个单一的元素里操作:

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对象的引用 - 显然不是你想要的。

相关问题