- 深入理解React Router:从原理到实践
- 李杨韬
- 180字
- 2025-02-26 04:47:02
1.4.2 hashchange事件
hashchange事件用于监听浏览器hash值的变化,其监听方式为

hashchange事件可以通过设置location.hash、在地址栏中手动修改hash、调用window.history.go、在浏览器中单击“前进”或“后退”按钮等方式触发。
在hashchange事件的事件响应函数中,可获取事件对象HashChangeEvent,其除了继承事件对象Event,拥有Event的属性,如target、type,还提供oldURL、newURL,分别表示hash跳转前的URL及hash跳转后的URL。


注意,window.history.pushState不会触发hashchange事件,即使前后导航的URL仅hash部分不同,也是如此,如:
