.getSelection()

ユーザーによって選択されたテキストの範囲を表すSelectionを返します。

文法

selection = window.getSelection();

selectionは、Selectionオブジェクトです。 空文字列""を追加、または.toStringを使用した、 いずれかの方法で文字列に変換した場合、このオブジェクトは選択されたテキストになります。

<!DOCTYPE html>
<html>
<head>
  <title>getSelectionのデモ</title>
</head>
<body>
<p>
任意の範囲でテキストを選択した状態で、
下記のボタンをクリックしてみてください。
</p>
<input id="btn" type="button" value="getSelection実行" />
<script>
var btn = document.getElementById('btn');
btn.onclick = function(){
    var selObj = window.getSelection();
    alert(selObj);
    var selRange = selObj.getRangeAt(0);
    // selRangeに格納されたRangeを使用して、
    // 何らかの処理を実行することが可能です。
}
</script>
</body>
</html>

注意事項

JavaScriptでは、文字列を除くオブジェクトが関数 (window.alertdocument.writeのような)に渡されると、 そのオブジェクトのtoString()メソッドが呼び出され、 その戻り値が関数に渡されます。 これは、プロパティとメソッドを持つ本当のオブジェクトの時に、 他の関数で文字列として表現させることが可能です。

上記の例では、selObj.toString()window.alertに渡される際に自動的に呼び出されます。 ただし、lengthsubstrのような、 JavaScriptの文字列プロパティまたはメソッドを直接使用しようとすると、 それらのプロパティやメソッドが無ければ、結果はエラーとなり、 期待する結果を得ることが出来ません。 文字列としてSelectionオブジェクトを使用するには、 toStringメソッドを直接呼び出してください。

var selectedText = selObj.toString();
  • selObjはSelectionオブジェクトです。
  • selectedTextは文字列です。(選択されているテキスト)

ブラウザ互換性

デスクトップ
機能 Chrome Firefox
(Gecko)
IE Opera Safari
基本 9
モバイル
機能 Android Firefox
Mobile
IE
Mobile
Opera
Mobile
Safari
Mobile
基本 ? ? ? ? ?

仕様

HTML Editing APIs

関連項目

 Back to top

© 2017 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.

このページは、ページトップのURL先のMozilla Developer Network(以下、MDN)のコンテンツを翻訳した内容を基に構成されています。 構成について異なる点も含まれますので、下記の項目を確認し、必要に応じて元のコンテンツをご確認ください。 もし、誤訳などの間違いを見つけましたら、 @tomofまで教えていただければ幸いです。

  • 特定のブラウザに特化しすぎている情報やあまりにも古い情報、 または試験的に導入されているようなAPIや機能については、省略していることがあります。
  • 例やデモについて、実際にページ内で動作させる関係で一部ソースコードを変更している場合や、 その例で使用しているコンテンツの単語や文章などを日本人向けに変更しいてる場合があります。
  • MDNの更新頻度が高いため、元のコンテンツと比べ情報が古くなっている可能性があります。
  • "訳注:"などの断わりを入れた上で、日本人向けの情報の追記を行っている事があります。