選択した範囲を取得
選択した範囲を取得するには、window.getSelection
メソッドを使用します。
ただし、IEはIE9以降で実装されており、代わりにdocument.selection
を使用します。
なお、選択した範囲を文字列として返すには、toStringを使用することで可能です。
構文
var selectionObject = window.getSelection();
戻り値
selectionオブジェクトを返します。
このselectionオブジェクトには、選択された文字列の範囲やキャレットの位置、フォーカス中の要素などの情報が含まれています。
selectionオブジェクト:プロパティ
プロパティ名 | 説明 |
---|---|
anchorNode | 始点のあるnodeを返す |
anchorOffset | 始点の、anchorNode内でのオフセットを返す |
focusNode | 終点のあるnodeを返す |
focusOffset | 終点の、focusNode内でのオフセットを返す |
isCollapsed | 始点と終点が同じ位置にあるかをBoolean値で返す |
rangeCount | rangeの数を返す |
selectionオブジェクト:メソッド
メソッド名 | 説明 |
---|---|
getRangeAt | rangeの1つを取得 |
collapse | 一点に折りたたむ |
extend | focus (終点)を指定した点に移動 |
modify | 現在の選択範囲を変更 |
サンプルコード
JavaScript
var getSelectText = function() {
if (window.getSelection) {
return window.getSelection().toString();
} else if (document.selection) {
return document.selection.createRange().text;
} else {
return '';
}
};
console.log(getSelectText());