選択した範囲を取得

選択した範囲を取得するには、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());

JavaScript逆引きリファレンス一覧へ戻る