为什么调用 History.pushState()(或 .replaceState())会触发'popstate'事件?



我正在根据 AJAX 调用更改 url。

window.history.pushState("", "", ''+newUrlWithParameters);

此外,我在我的JS中编写了一个流行状态事件。

$(window).on('popstate', function(e) {
   //... do this
});

一旦调用 pushState,就会触发 popstate。如何预防这种情况?

我遇到了同样的问题 - 通过添加来解决它

event.preventDefault();
event.stopPropagation();

到调用事件的处理程序(它们处理 HTML 元素上的单击事件,并通过 jQuery 跟踪 mouseEvent 似乎想要触发 popState)。

相关内容

  • 没有找到相关文章

最新更新