Window:hashchange 事件

当 URL 的片段标识符发生更改时(URL 中以 # 符号开头并跟随 # 符号的部分),会触发 hashchange 事件。

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("hashchange", (event) => {});
onhashchange = (event) => {};

事件类型

事件属性

HashChangeEvent.newURL 只读

表示窗口正在导航到的新 URL 的字符串。

HashChangeEvent.oldURL 只读

表示窗口导航到的先前 URL 的字符串。

事件处理程序别名

除了 Window 接口之外,事件处理程序属性 onhashchange 也在以下目标上可用

示例

您可以在 addEventListener 方法中使用 hashchange 事件

js
window.addEventListener(
  "hashchange",
  () => {
    console.log("The hash has changed!");
  },
  false,
);

或使用 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

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅