在ajax重新加载父容器后,链接停止工作

时间:2010-11-05 02:19:09

标签: ajax django jquery django-templates

在我的页面(LINK)上,我想添加以前添加的视频的ajax分页列表。该列表工作正常,直到我转到下一页。然后即使我使用的是livequery,整个事情也会停止反应。即使将父div引入更新的也没有解决问题。有什么想法 - 正在发生什么?

父容器:

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

更新了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;
});

1 个答案:

答案 0 :(得分:2)

我使用jQuery的native live()来一直这样做。看起来像是你在这里的简单交换。

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