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 hidden until found-Zustand befindet und der Browser im Begriff ist, seinen Inhalt anzuzeigen, weil der Benutzer den Inhalt über die "Im-Seite-suchen"-Funktion oder über Fragmentnavigation gefunden hat.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
, oder setzen Sie eine Ereignis-Handler-Eigenschaft.
addEventListener("beforematch", (event) => {});
onbeforematch = (event) => {};
Ereignistyp
Ein generisches Event
.
Verwendungshinweise
Das HTML-Attribut hidden
akzeptiert einen Wert until-found
: Wenn dieser Wert angegeben ist, ist das Element versteckt, aber sein Inhalt wird für die "Im-Seite-suchen"-Funktion des Browsers oder für Fragmentnavigation zugänglich sein. Wenn diese Funktionen dazu führen, dass zu einem Element in einem "hidden until found"-Teilbaum gescrollt wird, 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 Attributehidden="until-found"
undid="until-found-box"
hat. - Einen Link, dessen Ziel das Fragment
"until-found-box"
ist.
Wir haben auch etwas JavaScript, das auf das beforematch
-Ereignis hört, das bei dem versteckten bis gefundenen Element ausgelöst wird. Der Ereignishandler ändert den Textinhalt des Box-Elements.
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
div {
height: 40px;
width: 300px;
border: 5px dashed black;
margin: 1rem 0;
padding: 1rem;
font-size: 2rem;
}
JavaScript
const untilFound = document.querySelector("#until-found-box");
untilFound.addEventListener(
"beforematch",
() => (untilFound.textContent = "I've been revealed!"),
);
Ergebnis
Durch Klicken auf die Schaltfläche "Gehe zu verstecktem Inhalt" wird zu dem "hidden-until-found"-Element navigiert. Das beforematch
-Ereignis wird ausgelöst, der Textinhalt wird aktualisiert und dann wird der Elementinhalt angezeigt.
Um das Beispiel erneut auszuführen, klicken Sie auf "Neu laden".
Wenn Ihr Browser den "until-found"
-Aufzählungswert des hidden
-Attributs nicht unterstützt, wird das zweite <div>
versteckt sein (da hidden
vor der Hinzufügung des until-found
-Werts boolean war).
Spezifikationen
Specification |
---|
HTML # event-beforematch |
Browser-Kompatibilität
Siehe auch
- Das HTML-Attribut
hidden