DOM

Document.getSelection() メソッド

 編集:2022.09.25 by T.A.

[Edge]。→

Document でユーザーが選択したテキストの範囲、またはキャレットの現在位置を表す Selection オブジェクトを返します。

構文
Document.getSelection()
Document Document
戻り値

Selection オブジェクト。

関連するオブジェクト

Window.getSelection() を呼び出すと、Document.getSelection() と同等の動作をします。

Firefox において現在は getSelection() は <input> 要素の中では動作しないことに注意してください。HTMLInputElement.setSelectionRange() を使用することで回避できます。

selection と focus との違いにも注意してください。Document.activeElement はフォーカスを持つ要素を返します。

Selection オブジェクトを取得
let selection = document.getSelection();
let selRange = selection.getRangeAt(0);
// この範囲に対して何かをする

console.log(selection); // Selection オブジェクト
Selection オブジェクトの文字列表現

JavaScript では、オブジェクトが文字列を取る関数(Window.alert() など)に渡された場合、オブジェクトの toString() メソッドが呼び出され、関数にその返値が渡されます。これにより、プロパティやメソッドを持つ実際のオブジェクトであった場合、他の関数に使われると文字列になって現れることがあります。

alert(selection);

ただし、すべての関数で自動的に toString() が呼び出されるとは限りません。Selection オブジェクトを文字列として使用する場合は、toString() メソッドを直接呼び出してください。

let selectedText = selection.toString();

HTML:

ここはてすとです。範囲選択してみてください。

↑そこのなんでもないテキストで範囲選択して、以下を実行する。

JavaScript:

D=document.getSelection();	//=[object]:選択して
	//anchorNode=[object]:[object Text]
	//anchorOffset=[number]:6
	//focusNode=[object]:[object Text]
	//focusOffset=[number]:2
	//isCollapsed=[boolean]:false
	//…

サンプルですが、このようなオブジェクトが得られた。


テスト