Window: hashchange-Ereignis
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Das hashchange-Ereignis wird ausgelöst, wenn sich der Fragmentbezeichner der URL ändert (der Teil der URL, der mit dem Symbol # beginnt und darauf folgt).
Dieses Ereignis wird nicht ausgelöst, wenn der Hash mit history.pushState() oder history.replaceState() geändert wird.
Syntax
Verwenden Sie den Ereignisnamen in addEventListener():
addEventListener("hashchange", (event) => { })
Alternativ können Sie ihn der Event-Handler-Eigenschaft der Schnittstelle zuweisen:
onhashchange = (event) => { }
Ereignistyp
Ein HashChangeEvent. Erbt von Event.
Aliase für Event-Handler
Neben der Window-Schnittstelle ist die Event-Handler-Eigenschaft onhashchange auch für die folgenden Ziele verfügbar:
Beispiele
Sie können das hashchange-Ereignis mit der Methode addEventListener verwenden:
window.addEventListener("hashchange", () => {
console.log("The hash has changed!");
});
Oder verwenden Sie die Event-Handler-Eigenschaft onhashchange. Beachten Sie jedoch, dass dadurch gegebenenfalls andere über onhashchange hinzugefügte Event-Listener ersetzt werden:
function locationHashChanged() {
if (location.hash === "#cool-feature") {
console.log("You're visiting a cool feature!");
}
}
window.onhashchange = locationHashChanged;
Spezifikationen
| Spezifikation |
|---|
| HTML> # event-hashchange> |
| HTML> # handler-window-onhashchange> |
Browser-Kompatibilität
Siehe auch
popstate-Ereignis