Window:hashchange 事件
當 URL 的片段識別符號(URL 中以 # 符號開頭的部分)發生變化時,會觸發 hashchange 事件。
使用 history.pushState() 或 history.replaceState() 修改雜湊值時,不會觸發此事件。
語法
在諸如 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("The hash has changed!");
});
或者使用 onhashchange 事件處理屬性
js
function locationHashChanged() {
if (location.hash === "#cool-feature") {
console.log("You're visiting a cool feature!");
}
}
window.onhashchange = locationHashChanged;
規範
| 規範 |
|---|
| HTML # event-hashchange |
| HTML # handler-window-onhashchange |
瀏覽器相容性
載入中…
另見
popstate事件