2012-01-22 6 views
0

Comment sélectionner un élément de liste comportant une pseudo-classe de survol CSS à l'aide de jquery?comment sélectionner un élément de liste avec une pseudo-classe hover en utilisant jquery?

par exemple,

 <ul> 
      <li>test 1</li> 
      <li>test 2</li> 
      <li>test 3</li> 
      <li>test 4</li> 
     </ul> 

     <style> 
       ul li:hover 
       { 
        background-color: black; 
       } 
     </style> 

code jquery ne fonctionne pas, le message d'alerte ne s'affiche

 $("ul li:hover").click(function() 
     { 
       alert("test");     
     }); 

Question:

Suis-je sélectionnant l'état de vol stationnaire actif correctement dans le code jquery au dessus? Et si non, quelle est la bonne façon de le sélectionner?

Répondre

3

La façon dont vous l'essayez ne peut pas fonctionner, car le gestionnaire d'événements sera uniquement lié aux éléments qui sont planés exactement dans les millisecondes où le code est exécuté.

Vous aurez besoin quelque chose comme ceci:

$("ul li").click(function() { 
    if ($(this).is(':hover')) alert('test'); 
}); 

Démo: http://jsfiddle.net/TimWolla/3mdpG/

+0

grâce TimWolla mais votre code ne fonctionne pas. J'utilise 3.6.9 –

+0

Cela fonctionne en utilisant Firefox 9.0.1 –

+0

Old Post - mais je voulais remercier @TimWolla pour le concept de relier .is à $ (this) - Je pense que cela a résolu un problème pour moi et moi ' Je serai en mesure de raccourcir mon code de manière significative. Voici un violon http://jsfiddle.net/timspqr/Qch8F/. – TimSPQR

Questions connexes