我正在使用jquery mobile。当用户点击该框时,它将显示另一个框。但是当用户强制返回浏览器(或后退按钮)时,在那一刻,第二个框应该隐藏,而不是返回到prev页面。
我设法用popstate达到了我想要的效果:
window.onpopstate = function(event) {
if($('div').is(':visible') {
closeFunction();
event.stopImmediatePropagation();
}
}
但它仍会更改网址。
例如,如果我有这样的导航:
index > home > internal(with box)
然后按下后退按钮
index > home
仍会触发网址更改,但不会更改网页。
我尝试过使用pagebeforechange,但结果相同。
有什么想法吗?
答案 0 :(得分:2)
popstate事件不可取消。 提到doc
规格:HTML5
接口:PopStateEvent
气泡:是的 可取消:否 目标:defaultView
默认操作:无