Почему вызов History.pushState() (или.replaceState()) вызывает событие "popstate"?
Я изменяю URL в зависимости от вызова AJAX.
window.history.pushState("", "", ''+newUrlWithParameters);
Также у меня есть событие popstate, написанное в моем JS.
$(window).on('popstate', function(e) {
//... do this
});
Как только вызывается pushState, срабатывает popstate. Как это предотвратить?
0 ответов
У меня была такая же проблема - решил, добавив
event.preventDefault();
event.stopPropagation();
в обработчик вызывающего события (они обрабатывают событие щелчка на элементе HTML a, и, отслеживая через jquery, событие mouseevent, похоже, должно было вызвать popState).