history.pushState does not trigger 'popstate' event

前端 未结 7 625
旧巷少年郎
旧巷少年郎 2020-12-16 12:13

Why

$(function () {
  $(window).bind(\'popstate\', function () {alert(\'pop\');});

  window.history.pushState(null, \'\', \'/foo\');
});

7条回答
  •  别那么骄傲
    2020-12-16 12:22

    You can manually trigger popstate event on window every time you call history.pushState().

    history.pushState(state, '', url);
    
    var popStateEvent = new PopStateEvent('popstate', { state: state });
    dispatchEvent(popStateEvent);
    

提交回复
热议问题