Gibt es eine Möglichkeit, das umgebende Rechteck eines Textknotens zu erhalten?
Die getBoundingClientRect () -Methode ist nur für Elemente definiert, und das Elternelement ist größer als der tatsächliche Textknoten.
Wickeln Sie den Textknoten in ein <span>
, erhalten Sie boundingRect
dieses Bereichs.
Wenn Sie IE8 oder älter nicht unterstützen müssen, können Sie ein Beispiel (sollte auf dieser Seite funktionieren): Sie können das Objekt Range
verwenden Wählen Sie den Textknoten aus, und rufen Sie dann das Begrenzungsrechteck direkt von Range
. Range
auch wiederverwenden, wenn Sie dies für mehrere Textknoten tun. stellen Sie sicher, dass Sie range.detach()
erst aufrufen, wenn Sie fertig sind. (Hinweis: Range.detach()
ist jetzt ein No-Op im DOM-Standard , obwohl ältere Browser dies tun Deaktivieren Sie weiterhin die Verwendung des Bereichs nach dessen Aufruf.)
Tags und Links javascript dom textnode bounding-box