HTML DOM HashChangeEvent


HTML DOM HashChangeEvent 是一种类型接口,用于表示对 URL 的 # 部分进行修改时触发的事件。

属性

HashChangeEvent 的属性如下 −

属性说明
newURL在 hash 修改后返回文档 URL。
oldURL返回在 hash 更改之前的文档 URL

语法

HashChangeEvent 的语法如下。

event.eventProperty

此处,eventProperty 是上述两个属性之一。

示例

让我们看一个 HashChangeEvent 示例。

在线演示

<!DOCTYPE html>
<html>
<body onhashchange="showChange(event)">
<h1>HashChangeEvent example</h1>
<p>Change the hash by clicking the below button</p>
<button onclick="changeHash()">CHANGE</button>
<p id="Sample"></p>
<script>
   function changeHash() {
      location.hash = "NEWHASH";
   }
   function showChange() {
      document.getElementById("Sample").innerHTML = "The url has been changed from " + event.oldURL + " to " + event.newURL;
   }
</script>
</body>
</html>

输出

将产生以下输出 −

单击 CHANGE 按钮 −

在上述示例中

我们创建了一个 CHANGE 按钮,用户单击后将执行 changeHash() 方法。

<button onclick="changeHash()">CHANGE</button>

changeHash() 方法将 location 对象的 hash 属性更改为 “NEWHASH”。location 对象包含有关我们 URL 的信息 −

function changeHash() {
   location.hash = "NEWHASH";
}

一旦 hash 更改,与 body 标记关联的 onhashchange 事件处理函数就会触发,并将 haschange 事件作为对象传递给函数 showChange() −

<body onhashchange="showChange(event)">

showChange() 方法使用收到的 hashchange 事件在带有 id “sample” 的段落元素中显示 oldURL 属性和 newURL 属性 -

function showChange() {
   document.getElementById("Sample").innerHTML = "The url has been changed from " + event.oldURL + " to " + event.newURL;
}

更新日期: 2021 年 2 月 19 日

110 次浏览

开启你的 职业生涯

完成课程获取认证

开始
广告