0

在我的网站上,当单击链接时,会运行一个 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();
};

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

4

1 回答 1

0

你能不能试试...

window.onpopstate = function(e) {
    $('.side-menu-link[href="' + e.state.path + '"]').eq(0).trigger("click");
};
于 2018-04-11T09:09:40.733 回答