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

时间:2016-07-06 12:19:46

标签: javascript jquery browser navigation

当用户点击浏览器后退按钮时,是否可以使用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(); 的开头不运行此行应该意味着页面永远不会更改

1 个答案:

答案 0 :(得分:0)

通常,我使用浏览器中的原生JavaScript API执行此操作,如下所述:Manipulating the Broser History

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

您正在寻找的事件是onpopstate

  

每次活动时都会将popstate事件调度到窗口   历史记录条目在两个历史记录条目之间发生变化   文档。