2010-12-03 261 views
0

当我尝试这个。jQuery悬停不起作用

<ul id="sub_navigation"><li>A</li><li>B</li></ul> 

与jQuery悬停这样

$(function() { 
    $('#sub_navigation').hover(function() { 
     $(this).addClass('hovered'); 
    }, 
    function() { 
    $(this).removeClass('hovered'); 
    }); 

    alert($('#sub_navigation').is('.hovered')); 

}); 

总是返回false当我徘徊在sub_navigation。

有什么问题吗?

感谢

+0

在您将鼠标移动到元素之前,您正在执行`alert'。 – 2010-12-03 19:06:09

回答

3

返回错误是正常的在这里,因为你提醒在页面加载时,而不是当您悬停。例如,这将返回true

$(function() { 
    $('#sub_navigation').hover(function() { 
     $(this).addClass('hovered'); 
     alert($('#sub_navigation').is('.hovered')); 
    }, function() { 
     $(this).removeClass('hovered'); 
    }); 
}); 

You can test it here


但请记住,如果你这样做只是为了造型,使用:hover CSS伪类会在所有的浏览器IE6,除了这里(没有的JavaScript):

#sub_navigation:hover { color: red; } 

Test it out here