, bir Range
select the text node için kullanmak ve sonra Range
doğrudan sınırlayıcı rect alabilirsiniz.
Örnek (bu sayfadaki çalışması gerekir):
var text = document.getElementById('nav-questions').childNodes[0];
var range = document.createRange();
range.selectNode(text);
var rect = range.getBoundingClientRect();
range.detach(); // frees up memory in older browsers
Ayrıca çoklu metin düğümleri için yapıyorsan Range
nesneyi yeniden kullanabilirsiniz; Bitene kadar range.detach()
'u aramamaya dikkat edin. (Not: Range.detach()
, the DOM standard numaralı telefonun bir no-op'udur, ancak daha eski tarayıcılar, çağrılmasının ardından aralığın kullanımını yine de devre dışı bırakacaktır.)
Bunun, navigator'da çalışıp çalışmadığını test etmek için: 'document.implementation.hasFeature ('Range ',' 2.0 '); ' – Noyo