Onpopstate功能仅工作一次

时间:2018-04-11 08:53:09

标签: javascript jquery ajax pushstate popstate

在我的网站上,当点击链接时,运行jQuery函数,使用AJAX加载内容,一切运行良好。我希望能够使用浏览器中的向后按钮来加载最后一个AJAX请求。

当我在正确加载最后一个AJAX请求时单击后退按钮,但是当我再次按下它时,它只加载相同的AJAX请求而不是前一个请求。这是我的代码:

$('.side-menu-link').on('click', function() {

    var data_url = $(this).attr('href');
    var post_title = $(this).attr('page-title');
    var post_url = data_url + " div.doc-content";
    $(".content-container").load(post_url);

    document.title = 'Website Name - ' + post_title;
    window.history.pushState({path:data_url}, '', data_url);

    return false;

});

window.onpopstate = function(e) {
    $('.side-menu-link[href="' + event.state.path + '"]')[0].click();
};

知道为什么这个功能只能工作一次?感谢

1 个答案:

答案 0 :(得分:0)

请你试试......

window.onpopstate = function(e) {
    $('.side-menu-link[href="' + e.state.path + '"]').eq(0).trigger("click");
};