onhashchange 事件 | HTML DOM 事件对象

返回到:DOM 对象:HTML DOM 事件对象

定义和用法

onhashchange 事件在当前 URL 的锚部分(以 ‘#’ 号为开始) 发生改变时触发 。

锚部分的实例:指定当前 URL 为
http://www.example.com/test.htm#part2 – 这个 URL 中的锚部分为 #part2。

你可以使用以下方式调用事件:

  • 通过设置Location 对象 的 location.hash 或 location.href 属性修改锚部分。
  • 使用不同书签导航到当前页面(使用”后退” 或”前进”按钮)
  • 点击链接跳转到书签锚

所有主要浏览器都支持 onhashchange 事件

语法

HTML 中:

<element onhashchange="myScript">

JavaScript 中:

object.onhashchange=function(){myScript};

JavaScript 中, 使用 addEventListener() 方法:

object.addEventListener("hashchange", myScript);

注意: Internet Explorer 8 及更早 IE 版本不支持 addEventListener() 方法。

技术细节

是否支持冒泡:Yes
是否可以取消:No
事件类型:Event
支持的 HTML 标签:<body>

实例

当锚部分发生变化时执行 JavaScript:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Web176教程(web176.com)</title>
</head>
<body onhashchange="myFunction()">

<p>点击按钮修改当前 URL 的锚部分为 #part5</p>
<button onclick="changePart()">点我</button>
<p id="demo"></p>
<script>
// 使用 location.hash 属性来修改锚部分
function changePart() {
    location.hash = "part5";
    var x = "锚部分现在为: " + location.hash;
    document.getElementById("demo").innerHTML = x;
}
// 如果锚部分改变则弹出提示窗口
function myFunction() {
    alert("锚部分已修改!");
}
</script>

</body>
</html>

作者:terry,如若转载,请注明出处:https://www.web176.com/javascriptbook/domtips/3909.html

(0)
打赏 支付宝 支付宝 微信 微信
terryterry
上一篇 2021年10月13日 下午4:16
下一篇 2021年10月13日 下午4:22

相关推荐

发表回复

登录后才能评论