繁体   English   中英

用户单击浏览器后退按钮时触发事件

[英]Trigger event when user clicks the browsers back button

当用户单击浏览器后退按钮时,是否可以使用jquery触发函数。 我有一个灯箱/小部件,当它打开时打开时填充窗口。 有一个关闭按钮等,但如果用户错误地按下后退按钮,这将关闭。

到目前为止我有这个,但功能似乎根本没有运行

$(window).on("navigate", function (event, data) {
            event.preventDefault();
            console.log('BACK PRESSED');
            var direction = data.state.direction;
            if (direction === 'back') {
                if(widgets.full_active){
                    $('.close', widgets.active_widget).click();
                    event.preventDefault();
                    console.log('CLOSE THIS');
                }
            }
            if (direction === 'forward') {
                // do something else
            }
        });

通过在函数event.preventDefault()的开头不运行此行; 应该意味着页面永远不会改变

通常,我使用浏览器中的本机JavaScript API执行此操作,如下所述: 操作Broser历史记录

使用jQuery,我看到人们通常使用这个插件: History.js ,虽然我不知道它的状态是什么。

你正在寻找的事件是onpopstate

每当活动历史记录条目在同一文档的两个历史记录条目之间发生更改时,就会将popstate事件分派到窗口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM