Gibt es eine Entsprechung zu getBoundingClientRect () für Textknoten?

8

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.

    
user163369 22.09.2009, 16:12
quelle

2 Antworten

6

Wickeln Sie den Textknoten in ein <span> , erhalten Sie boundingRect dieses Bereichs.

%Vor%     
eyelidlessness 22.09.2009, 16:29
quelle
10

Wenn Sie IE8 oder älter nicht unterstützen müssen, können Sie ein Range verwenden Wählen Sie den Textknoten aus, und rufen Sie dann das Begrenzungsrechteck direkt von Range .

Beispiel (sollte auf dieser Seite funktionieren):

%Vor%

Sie können das Objekt 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.)

    
Noyo 11.02.2015 14:40
quelle