2010-11-05 5 views
1

Sur ma page (LINK) Je voulais ajouter une liste ajax paginée de vidéos précédemment ajoutées. La liste fonctionne bien jusqu'à ce que je passe à la page suivante. Ensuite, le tout cesse de réagir même si j'utilise livequery. Même l'introduction d'un div parent à celui mis à jour n'a pas résolu le problème. Des idées sur ce qui se passe?Le lien cesse de fonctionner après ajax rechargement du conteneur parent

conteneur parent:

<div id="videos-wrapper"> 
     <div class="videos-list"> 
      <h3>Previous Videos</h3> 
      DATA GOES HERE 
     </div> 
    </div> 

mise à jour html:

<ul id="videos-{{ page }}"> 
    {% for obj in objects %} 
     <li> 
      <a href="#" class="{{ obj.id }}"> 
       <img src="{{obj.video.thumbnail_url}}" alt="{{ obj.video.title }}" /> 
      </a> 
     </li> 
    {% endfor %} 
</ul> 

{% if prev %} 
    <a href="#" class="vid-navi"> 
     <span class="{{ prev }}">prev</span> 
    </a> 
{% endif %}  

{% if next %} 
    <a href="#" class="vid-navi"> 
     <span class="{{ next }}">next</span> 
    </a> 
{% endif %} 

js:

$('#videos-wrapper .vid-navi').livequery('click', function(e) { 
    e.preventDefault(); 
    var page = $("span", this).attr('class'); 

    alert("GO"); 

    $.ajax({ 
     type: "POST", 
     url: "/play-forward/change-page", 
     data: "page=" + page, 
     dataType: "json", 
     success: function(data){ 
      $('.videos-list').html(data['html']); 
     } 
    }); 
    return false; 
}); 

Répondre

2

-je utiliser pour faire tout le temps en direct() de jQuery natif. On dirait un simple échange pour ce que vous avez ici.

http://api.jquery.com/live/

+0

hmm cela fonctionne. Mais comment se fait-il qu'une fonction supplémentaire (qui était censée être encore meilleure que l'intégré) ne fonctionne pas ici? Je l'ai utilisé trop avidement sans le besoin réel? – owca

+1

livequery avait cette capacité plusieurs années avant le noyau de jQuery, mais l'équipe de jQuery a travaillé dur pendant cette période. Je n'ai pas utilisé livequery depuis longtemps, moi-même. – hybernaut

Questions connexes