[Edge]。→、
Document でユーザーが選択したテキストの範囲、またはキャレットの現在位置を表す Selection オブジェクトを返します。
Document | Document。 |
---|
Selection オブジェクト。
Window.getSelection() を呼び出すと、Document.getSelection() と同等の動作をします。
Firefox において現在は getSelection() は <input> 要素の中では動作しないことに注意してください。HTMLInputElement.setSelectionRange() を使用することで回避できます。
selection と focus との違いにも注意してください。Document.activeElement はフォーカスを持つ要素を返します。
let selection = document.getSelection(); let selRange = selection.getRangeAt(0); // この範囲に対して何かをする console.log(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 //…
サンプルですが、このようなオブジェクトが得られた。