Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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():

js
addEventListener("hashchange", (event) => { })

Alternativ können Sie ihn der Event-Handler-Eigenschaft der Schnittstelle zuweisen:

js
onhashchange = (event) => { }

Ereignistyp

Ein HashChangeEvent. Erbt von Event.

Event HashChangeEvent

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:

js
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:

js
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