2010-12-03 11 views
0

Lorsque j'essaie.jQuery hover ne fonctionne pas

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

avec jQuery planent comme celui-ci

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

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

}); 

reviennent toujours faux quand je passe la souris au sub_navigation.

Quelque chose ne va pas?

grâce

+0

Vous faites le 'alert' avant même que vous ayez la chance de déplacer la souris sur l'élément. –

Répondre

3

est normal soit faux ici, puisque vous alerter quand la page se charge, au lieu de lorsque vous survolez. Par exemple, cela retournerait true:

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

You can test it here.


Gardez à l'esprit que, si vous faites cela juste pour le style, en utilisant la pseudo-classe CSS :hover fonctionnera dans tous les navigateurs sauf IE6 ici (sans JavaScript):

#sub_navigation:hover { color: red; } 

.