2009-07-26 5 views
1

J'ai un tableau de messages, et j'ai du code qui charge les nouveaux messages automatiquement dès leur arrivée. J'ai, en plus, le code suivant sur tous les messages du forum. Tous les nouveaux messages n'obtiennent pas cet effet de survol, même s'ils appartiennent à la même classe. En addtion, alors que tous les postes qui ne sont pas chargés via AJAX ont le div suivantes:Affichage jquery affixe: bloc

<div id="id_number" class="old_post" style=""> 

les nouveaux postes ont

<div id="id_number" class="old_post" style="display: block;"> 

la fonction qui génère les messages sur le serveur côté le la même.

Vous avez de l'aide? (Comment puis-je obtenir un effet onHover sur les publications AJAX-ed?)

Répondre

1

Vous devez utiliser live pour lier un événement (docs here). Malheureusement, live ne prend pas en charge le vol stationnaire, vous devez donc diviser votre code et définir les gestionnaires d'événements mouseover et mouseout.

$(".old_post").live('mouseover', function() { 
    $(".post_right_nav", this).show(); 
    $(this).css({ 
     'background-color': '#E6E6E6' 
    }); 
}); 

$(".old_post").live('mouseout', function(){ 
    var cssObj = { 
     'background-color': '', 
     'font-weight': '' 
    } 
    $(this).css(cssObj); 
    $(".post_right_nav", this).hide(); 
});