第二次点击后,jquery ajax分页停止工作

时间:2013-07-30 10:26:51

标签: jquery ajax pagination

我目前正致力于一些ajax分页。这是我背后的代码:

jQuery(function ($) {

$('#content').on('click', '.navigation a', function (e) {
    e.preventDefault();
    var link = $(this).attr('href');

    $('#content').fadeOut(200, function () {
        $(this).load(link + ' #content', function () {
            $(this).fadeIn(200);

            if ($("#content > div#content").length > 0) {
                $("#content > div#content").unwrap();
            }

        });
    });
});});

这对前2页非常有用。在第二页之后,jquery元素停止工作并默认返回正常的分页?

谁能明白为什么会这样?

1 个答案:

答案 0 :(得分:0)

除非此代码在加载到<script>中的#content标记内,否则将会发生动态加载内容中的链接不具有点击绑定的情况。

您可能需要重新应用点击装订:

$(...).load(..., function() {
    // ... 
    $('#content').on('click', ...
});

当然,你必须定义一个合适的绑定函数。否则你需要再次编写相同的代码......

有点hackish,伪代码:

jQuery(function ($) {

    function myPaginator (e) {
        e.preventDefault();
        var link = $(this).attr('href');

        $('#content').fadeOut(200, function () {
            $(this).load(link + ' #content', function () {
                $(this).fadeIn(200);

                if ($("#content > div#content").length > 0) {
                    $("#content > div#content").unwrap();
                }
                $('#content').on('click', '.navigation a', myPaginator);
            });
        });
    });

    $('#content').on('click', '.navigation a', myPaginator); 

});