如何判断鼠标是否悬停在元素上

时间:2010-04-02 15:34:06

标签: javascript html

是否有一个函数我可以调用以了解某个元素当前是否正在悬停,像这样?

/* Returns true or false */
hoveringOver("a#mylink");

3 个答案:

答案 0 :(得分:8)

您可以使用jQuery的hover方法来跟踪:

$(...).hover(
    function() { $.data(this, 'hover', true); },
    function() { $.data(this, 'hover', false); }
).data('hover', false);

if ($(something).data('hover'))
    //Hovered!

答案 1 :(得分:3)

是的,在经典的JS中:

document.getElementById("mylink").onmouseover = function() { alert("Hover!"); }
document.getElementById("mylink").onmouseout  = function() { alert("Out!"); }

在jQuery中:

$('#mylink').mouseover(function() {
  alert("Hover!");
});

答案 2 :(得分:1)

我不知道这是否是最好的方法,但是如果你使用jquery,你可以这样做:

var hoveringOver = false;

$("a#myLink").bind("mouseenter", function(){
hoveringOver = true;
});

$("a#myLink").bind("mouseleave", function(){
hoveringOver = false;
});

function isHoveringOver(){
return hoveringOver;
}