后退按钮事件监听器

时间:2016-06-26 12:50:34

标签: javascript jquery back-button

我有一个单页面应用程序。在第一个实例中,我正在显示输入页面,并且输出Div在该时间点被隐藏。接着输入数据时,我隐藏输入数据并使用ajax调用来计算输出并显示输出导致输出div。因此,输入和输出页面基本上都存在相同的页面。现在我有一个后退按钮,当用户点击时,显示输入div并隐藏输出div。

$("#renderOutput").on("click", "#chngeIcon", function () {
    $('#renderOutput').hide();
    $('#InputPage').show();
});

由于用户单击浏览器后退按钮是单页应用程序,因此它被带到以前访问过的站点。我想让后退按钮的行为类似于我的后退按钮。请帮助我。enter image description here

1 个答案:

答案 0 :(得分:1)

您可以尝试popstate事件处理程序,例如:

window.addEventListener('popstate', function(event) {
    // The popstate event is fired each time when the current history entry changes.



    if ($("#InputPage").is(":visible") == false) {
        // Call Back button programmatically 
        history.back();
        // Uncomment below line to redirect to the previous page instead.
        // window.location = document.referrer
    } else {
        // Stay on the current page.
        history.pushState(null, null, window.location.pathname);
        $('#renderOutput').show();
        $('#InputPage').hide();
    }

    history.pushState(null, null, window.location.pathname);

}, false);

希望有所帮助