selection

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

概要

このオブジェクトのクラスは window.getSelection() やその他のメソッドによって返されるものです。

説明

selection オブジェクトはユーザーが選択した 1つないし複数の range を表しています。通常、これは 1 つのみ range を保持しており、次のようにアクセスします。

var selObj = window.getSelection();
var range  = selObj.getRangeAt(0);

以下のように toString() (en-US) メソッドを呼ぶことにより、selection に含まれる文字列を取得できます。

var selObj = window.getSelection();
window.alert(selObj);

用語集

ここで使われる他の定義語は以下のとおり。

anchor
selection の anchor とは、selection の始点のことです。マウスにより selection が作成されたとき、anchor は、document の中でマウスのボタンが最初に押された位置になります。ユーザーが selection をマウスやキーボードで変更しても、anchor が動くことはありません。
focus
selection の focus とは、selection の終点のことです。マウスにより selection が作成されたとき、focus は、document の中でマウスのボタンが離された位置になります。ユーザーが selection をマウスやキーボードで変更したとき、focus は selection の最も後の部分で、selection の変化に伴って移動します。
range
range とは、一続きの document の一部です。range は node の一部(例えば、text node の一部)だけでなく、node の全体を含むこともできます。ユーザーは通常 1 回にひとつの range を選択するのですが、複数の range を選択することも不可能ではありません(たとえば、Controlキーを使うことにより可能)。range は selection から range オブジェクトとして取得できます。range オブジェクトは、DOM 経由で作成することができ、プログラム的に selection に追加したり、selection から削除したりすることができます。

プロパティ

anchorNode (en-US)
selection の始点のある node を返します。
anchorOffset (en-US)
selection の始点の、anchorNode 内でのオフセットを返します。
focusNode (en-US)
selection の終点のある node を返します。
focusOffset (en-US)
selection の終点の、focusNode 内でのオフセットを返します。
isCollapsed (en-US)
selection の始点と終点が同じ位置にあるか、boolean値を返します。
rangeCount (en-US)
selection に含まれる range の数を返します。

メソッド

getRangeAt (en-US)
選択されている 1 つないし複数の range のうちの 1 つを表す range オブジェクトを返します。
collapse (en-US)
selection をある一点に折りたたみます。
extend (en-US)
selection の focus (終点) を指定した点に移動します。
modify (en-US)
現在の選択範囲を変更します。
collapseToStart
selection の focus (終点)を anchor (始点) と同じ位置に移動します。
collapseToEnd (en-US)
selection の anchor (始点)を focus (終点) と同じ位置に移動します。focus の移動はありません。
selectAllChildren (en-US)
指定した node の全ての子 node を selection に追加します。
addRange (en-US)
selection に range オブジェクトを追加します。
removeRange (en-US)
1つの range オブジェクトを selection から削除します。
removeAllRanges (en-US)
全ての range を selection から削除します。
deleteFromDocument (en-US)
selection の内容を document から削除します。
selectionLanguageChange (en-US)
Modifies the cursor Bidi level after a change in keyboard direction.
toString (en-US)
selection オブジェクトが表す領域を文字列として返します。(すなわち、現在選択されている文字列)
containsNode (en-US)
特定の node が selection に含まれるか、boolean 値を返します。

関連情報