これは実験段階の機能です。
この機能は複数のブラウザで開発中の状態にあります。各ブラウザで用いるために、適切なベンダー接頭辞が必要な場合があります。互換性テーブルをチェックしてください。また、実験段階の機能の構文と挙動は、仕様変更に伴い各ブラウザの将来のバージョンで変更になる可能性があることに注意してください。
概要
このオブジェクトのクラスは window.getSelection()
やその他のメソッドによって返されるものです。
説明
selection オブジェクトはユーザーが選択した 1つないし複数の range を表しています。通常、これは 1 つのみ range を保持しており、次のようにアクセスします。
var selObj = window.getSelection(); var range = selObj.getRangeAt(0);
以下のように toString()
メソッドを呼ぶことにより、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
- selection の始点のある node を返します。
-
anchorOffset
- selection の始点の、anchorNode 内でのオフセットを返します。
-
focusNode
- selection の終点のある node を返します。
-
focusOffset
- selection の終点の、focusNode 内でのオフセットを返します。
-
isCollapsed
- selection の始点と終点が同じ位置にあるか、boolean値を返します。
-
rangeCount
- selection に含まれる range の数を返します。
メソッド
-
getRangeAt
- 選択されている 1 つないし複数の range のうちの 1 つを表す range オブジェクトを返します。
-
collapse
- selection をある一点に折りたたみます。
-
extend
- selection の focus (終点) を指定した点に移動します。
-
modify
- 現在の選択範囲を変更します。
-
collapseToStart
- selection の focus (終点)を anchor (始点) と同じ位置に移動します。
-
collapseToEnd
- selection の anchor (始点)を focus (終点) と同じ位置に移動します。focus の移動はありません。
-
selectAllChildren
- 指定した node の全ての子 node を selection に追加します。
-
addRange
- selection に range オブジェクトを追加します。
-
removeRange
- 1つの range オブジェクトを selection から削除します。
-
removeAllRanges
- 全ての range を selection から削除します。
-
deleteFromDocument
- selection の内容を document から削除します。
-
selectionLanguageChange
- Modifies the cursor Bidi level after a change in keyboard direction.
-
toString
- selection オブジェクトが表す領域を文字列として返します。(すなわち、現在選択されている文字列)
-
containsNode
- 特定の node が selection に含まれるか、boolean 値を返します。