2010-08-01 4 views
1

J'ai un très gros problème avec la liaison live dans jQuery 1.4. Je veux lier un événement hover aux éléments div.message et fondu dans les contrôles. Ils sont cachés par défaut. Ceci est facile lorsque vous utilisez .hover(), mais ne lie pas les nouveaux éléments qui sont ajoutés via ajax. J'ai essayé .live() sans succès. Il déclenche les événements mouseover et mouseout chaque fois que le curseur se déplace sur les divers contenus des messages. Comme vous pouvez l'imaginer, cela fait trembler les commandes. Je veux que les contrôles se fanent lorsque la souris est sur le message. Mais j'ai besoin de lier l'effet aux nouveaux messages quand ils sont chargés. Je suis associé aux événements hover de liaison lorsque les messages sont chargés. Je préférerais une solution comme live, mais fonctionne exactement comme un hover.Je ne peux pas obtenir live() pour agir comme hover()

<div id="messages"> 
    <div class="message"> 
     <div class="controls"> 
      <a href="dosomthing"> 
       do somthing 
      </a> 
      <a href="dosomthing"> 
       do somthing 
      </a> 
     </div> 
     <p>blah blah blah</p> 
    </div> 
    <div class="message"> 
     <div class="controls"> 
     </div> 
     <p>blah blah blah</p> 
    </div> 
    <div class="message"> 
     <div class="controls"> 
      <a href="dosomthing"> 
       do somthing 
      </a> 
      <a href="dosomthing"> 
       do somthing 
      </a> 
     </div> 
     <p>blah blah blah</p> 
    </div> 
</div> 

Répondre

1

Pour contourner cela, vous pouvez utiliser delegate ajoutée dans la version au lieu 1.4.2 comme ceci:

$("#container").delegate("div", "hover", function(){ 
    // your code.... 
}); 

.delegate()

Description: Joindre une gestionnaire à un ou plus événements pour tous les éléments que correspondent au sélecteur, maintenant ou dans le futur, basé sur un ensemble spécifique d'éléments racine .

+0

Merci beaucoup très beaucoup! Je peux aller dormir maintenant. Salut, je vous achèterais une bière si c'était possible. –

+0

@Robert Hurst: Vous êtes les bienvenus :) – Sarfraz

Questions connexes