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 |