我现在正在使用 jquery mobile。当用户点击该框时,它会显示一个额外的。但是当用户在浏览器(或后退按钮)上强制返回时,在那一刻,第二个框应该隐藏,而不是返回上一页。
我已经设法通过 popstate 实现了几乎我想要的:
window.onpopstate = function(event) {
if($('div').is(':visible') {
closeFunction();
event.stopImmediatePropagation();
}
}
但它仍然会更改 URL。
例如,如果我有这样的导航:
index > home > internal(with box)
然后我按下后退按钮
index > home
仍会触发 url 更改,但不会触发页面更改。
我已经尝试使用 pagebeforechange,但结果相同。
有任何想法吗?