【发布时间】:2016-07-06 12:19:46
【问题描述】:
当用户单击浏览器后退按钮时,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(); 应该意味着页面永远不会改变
【问题讨论】:
-
改用 window.onbeforeunload 事件。
-
^ but note that the event also fires when the tab/window is closed, or the user navigates to another site.没有办法知道单独单击后退按钮何时引发卸载事件
标签: javascript jquery browser navigation