2010-12-03 23 views
0

Wenn ich das versuche.jQuery Hover funktioniert nicht

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

mit jQuery schweben wie diese

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

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

}); 

immer false zurück, wenn ich bei sub_navigation schweben.

ist etwas nicht in Ordnung?

dank

+0

Sie machen die "Warnung", bevor Sie überhaupt die Möglichkeit haben, die Maus über das Element zu bewegen. –

Antwort

3

Rückkehr falsch hier normal ist, da Sie sind alarmiert, wenn die Seite geladen wird, statt wenn Sie schweben. Zum Beispiel würde dies true zurück:

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

You can test it here.


Beachten Sie aber, wenn Sie dies nur für Styling zu tun sind, mit der :hover CSS Pseudo-Klasse wird hier in allen Browsern außer IE6 arbeiten (ohne JavaScript):

#sub_navigation:hover { color: red; } 

Test it out here.

Verwandte Themen