当用户点击浏览器后退按钮时,是否可以使用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(); 的开头不运行此行应该意味着页面永远不会更改
答案 0 :(得分:0)
通常,我使用浏览器中的原生JavaScript API执行此操作,如下所述:Manipulating the Broser History。
使用jQuery,我看到人们通常使用这个插件:History.js,虽然我不知道它的状态是什么。
您正在寻找的事件是onpopstate。
每次活动时都会将popstate事件调度到窗口 历史记录条目在两个历史记录条目之间发生变化 文档。