Element: beforematch-Ereignis

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Ein Element erhält ein beforematch-Ereignis, wenn es sich im Zustand versteckt bis gefunden befindet und der Browser im Begriff ist, seinen Inhalt anzuzeigen, weil der Benutzer den Inhalt über die "Seite durchsuchen"-Funktion oder durch Fragmentnavigation gefunden hat.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener(), oder setzen Sie eine Ereignishandler-Eigenschaft.

js
addEventListener("beforematch", (event) => {});

onbeforematch = (event) => {};

Ereignistyp

Ein generisches Event.

Nutzungshinweise

Das HTML-Attribut hidden akzeptiert den Wert until-found: wenn dieser Wert angegeben ist, wird das Element versteckt, aber sein Inhalt wird für die "Seite durchsuchen"-Funktion des Browsers oder für die Fragmentnavigation zugänglich sein. Wenn diese Funktionen zu einem Bildlauf zu einem Element in einem "versteckt bis gefunden"-Unterbaum führen, wird der Browser:

  • ein beforematch-Ereignis auf dem versteckten Element auslösen
  • das hidden-Attribut vom Element entfernen
  • zum Element scrollen

Beispiele

Verwendung von beforematch

In diesem Beispiel haben wir:

  • Zwei <div>-Elemente. Das erste ist nicht versteckt, während das zweite die Attribute hidden="until-found" und id="until-found-box" hat.
  • Einen Link, dessen Ziel das "until-found-box"-Fragment ist.

Wir haben auch etwas JavaScript, das auf das Auslösen des beforematch-Ereignisses auf dem versteckten, bis gefundenen Element hört. Der Ereignishandler ändert den Textinhalt des Kastens.

HTML

html
<a href="#until-found-box">Go to hidden content</a>

<div>I'm not hidden</div>
<div id="until-found-box" hidden="until-found">Hidden until found</div>

CSS

css
div {
  height: 40px;
  width: 300px;
  border: 5px dashed black;
  margin: 1rem 0;
  padding: 1rem;
  font-size: 2rem;
}

JavaScript

js
const untilFound = document.querySelector("#until-found-box");
untilFound.addEventListener(
  "beforematch",
  () => (untilFound.textContent = "I've been revealed!"),
);

Ergebnis

Wenn Sie auf die Schaltfläche "Gehe zu verstecktem Inhalt" klicken, wird zum versteckten-bis-gefundenen Element navigiert. Das beforematch-Ereignis wird ausgelöst, der Textinhalt wird aktualisiert, und dann wird der Inhalt des Elements angezeigt.

Um das Beispiel erneut auszuführen, klicken Sie auf "Neu laden".

Wenn Ihr Browser den hidden-Attributwert "until-found" nicht unterstützt, wird das zweite <div> versteckt sein (da hidden vor der Hinzufügung des until-found-Werts boolesch war).

Spezifikationen

Specification
HTML
# event-beforematch

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
beforematch event
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.

Siehe auch