概要
クライアントにおけるテキストの行の各々の境界矩形を示す矩形のコレクションを返します。
構文
var rectCollection = object.getClientRects();
戻り値
戻り値は、要素に関連付けられた CSS の ボーダーボックスの各々からなる、TextRectangle オブジェクトのコレクションです。TextRectangle オブジェクトの各々は、読み込み専用の left
、top
、 right
、そして、 bottom
プロパティを持っています。このプロパティは、ボーダーボックスを文書の CSS におけるキャンバスの左上を基準としてピクセル単位で表すものです。ただし、要素が SVG の foreignobject
要素であった場合には、直近の foreignobject
の祖先を基準とし、foreignobject
の座標系に従います。
矩形を算出するときは、表示領域でのスクロール量が考慮されます。
返ってくる矩形は、オーバーフローを引き起こすかもしれない子要素の範囲は含んでいません。
HTML の AREA 要素、それ自体は何も描画しない SVG 要素、 display:none
の要素、およびほとんど全ての直接描画されない要素では、空のリストが返ります。
矩形は、空のボーダーボックスを持っている CSS ボックスに対してさえ返ります。left
、top
、right
、 bottom
の座標は、それでも意味を持ち得ます。
ピクセル値が分数表記のオフセット値であることもあり得ます。
例
var rects = obj.getClientRects(); var numLines = rects.length;
仕様
W3C の仕様の一部ではありません。
注記
getClientRects()
は、MS IE DHTML オブジェクトモデルで最初に導入されました。
リファレンス
- MSDN's getClientRects definition【訳注: 日本語版は存在しないようです。】