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

时间:2017-01-04 08:56:40

标签: javascript jquery history pushstate popstate

我正在根据AJAX调用更改网址。

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

我也在我的JS中写了一个popstate事件。

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

只要调用pushState,就会触发popstate。 怎么预防这个?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题-通过添加

解决了
event.preventDefault();
event.stopPropagation();

到调用事件的处理程序(它们处理HTML a元素上的click事件,并通过jquery跟踪mouseevent似乎要触发popState)。

相关问题