Window:hashchange 事件
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
当 URL 的片段标识符(以 #
符号开头和之后的 URL 部分)更改时,将触发 hashchange
事件。
语法
在如 addEventListener()
等方法中使用事件名称,或设置事件处理器属性。
js
addEventListener("hashchange", (event) => {});
onhashchange = (event) => {};
事件类型
一个 HashChangeEvent
,继承自 Event
。
事件属性
HashChangeEvent.newURL
只读-
一个字符串,表示窗口导航到的新 URL。
HashChangeEvent.oldURL
只读-
一个字符串,表示导航窗口的上一个 URL。
事件处理器别名
除了 Window
接口以外,事件处理器属性 onhashchange
同样可以用于以下目标:
示例
你可以在 addEventListener
方法中使用 hashchange
事件:
js
window.addEventListener(
"hashchange",
() => {
console.log("哈希已更改!");
},
false,
);
或使用 onhashchange
事件处理程序属性:
js
function locationHashChanged() {
if (location.hash === "#cool-feature") {
console.log("你正在访问一个很酷的功能!");
}
}
window.onhashchange = locationHashChanged;
规范
Specification |
---|
HTML Standard # event-hashchange |
HTML Standard # handler-window-onhashchange |
浏览器兼容性
BCD tables only load in the browser
参见
popstate
事件