HTML DOM HashChangeEvent เป็นประเภทของอินเทอร์เฟซที่ใช้สำหรับแสดงเหตุการณ์เหล่านั้นที่เริ่มทำงานเมื่อใดก็ตามที่ส่วน # ของ URL ได้รับการแก้ไข
คุณสมบัติ
ต่อไปนี้เป็นคุณสมบัติของ HashChangeEvent -
| คุณสมบัติ | คำอธิบาย |
|---|---|
| newURL | หากต้องการส่งคืน URL ของเอกสารหลังจากแก้ไขแฮชแล้ว |
| oldURL | ส่งกลับ 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() เปลี่ยนคุณสมบัติแฮชของวัตถุตำแหน่งเป็น "NEWHASH" วัตถุตำแหน่งมีข้อมูลเกี่ยวกับ URL ของเรา -
function changeHash() {
location.hash = "NEWHASH";
} ทันทีที่มีการเปลี่ยนแปลงแฮช ตัวจัดการเหตุการณ์ onhashchange ที่เชื่อมโยงกับแท็ก body จะเริ่มทำงานและส่งผ่านเหตุการณ์ haschange เป็นวัตถุไปยังฟังก์ชัน showChange() -
<body onhashchange="showChange(event)">
เมธอด showChange() ใช้เหตุการณ์ hashchange ที่ได้รับเพื่อแสดงคุณสมบัติ oldURL และคุณสมบัติ newURL ในองค์ประกอบย่อหน้าที่มี id "ตัวอย่าง" -
function showChange() {
document.getElementById("Sample").innerHTML = "The url has been changed from " + event.oldURL + " to " + event.newURL;
}