onhashchange 事件
定义和用法
当目前 URL 的锚部分(以 '#' 符号开头)发生改变时,会发生 onhashchange 事件。
有关什么是锚部分的一个例子:假设当前的 URL 是 http://www.example.com/test.htm#part2 - 此 URL 的锚部分将是 #part2。
如需调用此事件,您可以:
- 通过设置 Location 对象的 location.hash 或 location.href 属性来改变锚部分
- 使用不同的书签导航到当前页面(使用“后退”或“前进”按钮)
- 单击指向书签锚点的链接
实例
例子 1
锚部分改变后执行 JavaScript:
<body onhashchange="myFunction()">
例子 2
如何将 "onhashchange" 事件分配给 window 对象:
window.onhashchange = myFunction;
语法
在 HTML 中:
<element onhashchange="myScript">
在 JavaScript 中:
object.onhashchange = function(){myScript};
在 JavaScript 中,使用 addEventListener() 方法:
object.addEventListener("hashchange", myScript);
注释:Internet Explorer 8 或更早的版本不支持 addEventListener() 方法。
技术细节
冒泡: | 支持 |
---|---|
可取消: | 不支持 |
事件类型: | HashChangeEvent |
支持的 HTML 标签: | <body> |
DOM 版本: | Level 3 Events |
浏览器支持
表中的数字注明了完全支持该事件的首个浏览器版本。
事件 | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
onhashchange | 5.0 | 8.0 | 3.6 | 5.0 | 10.6 |