pushState 和 replaceState 不会触发popstate事件?那么怎么监听呢?

pushState 和 replaceState 不会触发popstate事件?那么怎么监听呢?

​go、forward 和 back 等方法的调用确实会触发 popstate,但是 pushState 和 replaceState 不会触发popstate事件

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好 pushState 不会出发 popstate,假如想使用 popstate 监听,所以可以在 pushState 之后手动的触发一次

history.pushState(state, '', url);

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

​参考:https://stackoverflow.com/a/37492075/776977

  • 慕粉1158357197 提问者 #1

    自定义一个一个popstate事件,如下:

    let e = new Event('popstate')     

    window.dispatchEvent(e)

    是这样吧?

    2021-05-14 15:44:18
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师