2011-10-27 33 views
13

當鼠標靠近表頭元素時,我想跟蹤並顯示工具提示。它適用於mouseenter事件,但我想在mouseenter之前顯示工具提示,當它接近時。另外我想在mouseout距桌面一段距離後移除工具提示。jQuery中元素附近的鼠標功能

這是我的代碼。

$('thead').mouseenter(showtooltip); 
$('thead').mouseout(removetooltip); 

我怎樣才能做到這一點使用jQuery?

+7

給所有各方,邊距和填充你的DIV的利潤被算作對象的一部分,所以如果你將鼠標放在保證金,然後你會看到提示在「實際」輸入div之前。 – Ryan

+1

或者,在你的目標div上創建一個更大的透明div,並在這個不可見的div上設置事件處理程序。 – nrabinowitz

+0

謝謝你ryanOptini。我想爲桌面做它。不適用於div –

回答

26

This works。第一個參數可以是任何jQuery對象。第二個參數是對象的接近度,在這種情況下爲20px

演示:http://jsfiddle.net/ThinkingStiff/Lpg8x/

腳本:

$('body').mousemove(function(event) { 

    if(isNear($('thead'), 20, event)) { 
     //show your tooltip here 
    } else { 
     //hide it here 
    }; 

});   

function isNear(element, distance, event) { 

    var left = element.offset().left - distance, 
     top = element.offset().top - distance, 
     right = left + element.width() + 2*distance, 
     bottom = top + element.height() + 2*distance, 
     x = event.pageX, 
     y = event.pageY; 

    return (x > left && x < right && y > top && y < bottom); 

}; 
+1

該解決方案似乎相當CPU重 – medonja