ShadowRoot: elementsFromPoint()-Methode
Nicht standardisiert: Diese Funktion ist nicht standardisiert und befindet sich nicht auf dem Weg zur Standardisierung. Verwenden Sie sie nicht auf Produktionsseiten, die dem Web ausgesetzt sind: Sie funktioniert nicht für alle Benutzer. Es kann auch große Inkompatibilitäten zwischen Implementierungen geben, und das Verhalten kann sich in Zukunft ändern.
Die elementsFromPoint()
-Methode des ShadowRoot
-Interfaces gibt ein Array aller Shadow-Root-Elemente an den angegebenen Koordinaten (relativ zum Viewport) zurück. Die Elemente sind geordnet vom obersten Element (höchste in der Anzeige z-Ordnung) bis zum untersten Element.
Sie funktioniert ähnlich wie die ShadowRoot.elementFromPoint
-Methode. Einige Browser geben nur die Shadow-Root-Elemente zurück, die an diesem Ort vorhanden sind. Andere Browser enthalten Elemente außerhalb des Shadow DOM, vom Shadow-DOM-Element in der obersten Schicht bis zum Dokument-Wurzelknoten, wie das <html>
- oder das <svg>
-Wurzelelement. In diesen Browsern funktioniert sie ähnlich wie die Document.elementsFromPoint
-Methode, jedoch mit der Fähigkeit, die Schatten-Grenze zu überschreiten.
Syntax
elementsFromPoint(x, y)
Parameter
Rückgabewert
Ein Array von Element
-Objekten.
Beispiele
const customElem = document.querySelector("my-custom-element");
const shadow = customElem.shadowRoot;
const elements = shadow.elementsFromPoint(20, 20);
const msg = elements.map((el) => el.localName).join(" < ");
if (msg) {
console.log(msg);
} else {
console.log("The custom element had no descendants at x: 20, y: 20.");
}
Wenn <my-custom-element>
nahe der oberen linken Ecke des Viewports ist und ein einziges <div>
enthält, kann das oben Genannte je nach Browser-Implementierung eines der folgenden zurückgeben:
div div < my-custom-element < body < html
Spezifikationen
Kein Teil eines Standards.
Browser-Kompatibilität
BCD tables only load in the browser