2

我现在正在使用 jquery mobile。当用户点击该框时,它会显示一个额外的。但是当用户在浏览器(或后退按钮)上强制返回时,在那一刻,第二个框应该隐藏,而不是返回上一页。

我已经设法通过 popstate 实现了几乎我想要的:

window.onpopstate = function(event) {
  if($('div').is(':visible') {
     closeFunction();
     event.stopImmediatePropagation();
  }
}

但它仍然会更改 URL。

例如,如果我有这样的导航:

index > home > internal(with box)

然后我按下后退按钮

index > home

仍会触发 url 更改,但不会触发页面更改。

我已经尝试使用 pagebeforechange,但结果相同。

有任何想法吗?

4

1 回答 1

2

popstate 事件不可取消。转介文件

规范:HTML5
接口:PopStateEvent
气泡:是
可取消:否
目标:defaultView
默认操作:无

于 2017-01-30T23:43:50.400 回答