2009-06-02 35 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對象的引用 - 顯然不是你想要的。

相關問題