警告: この記事の内容は古くなっている可能性があります。 最終更新は、2009 年です。
Summary
ユーザーが選択した範囲を示す、selection オブジェクトを返します。 NB. this is nothing to do with the DOM selection list object! What the heck is 'selection list object'? -Nickolay
Syntax
selection = window.getSelection() ;
selection
は Selection オブジェクトです。
Example
function foo() { var selObj = window.getSelection(); alert(selObj); var selRange = selObj.getRangeAt(0); // do stuff with the range }
Notes
JavaScript では、文字列を引数にとる関数(window.alert
や document.write
)に selection オブジェクトが渡されるとき、selection オブジェクトのかわりにそのオブジェクトと対応する文字列(たとえば、選択範囲の文字列)が渡されます。このために、それが実際には独自のプロパティやメソッドを持っているオブジェクトであるにもかかわらず、selection オブジェクトは文字列のように見えることもあります。しかしこれは、正確にはtoString()
の返り値が渡されているのです。
上の例では、selObj
が window.alert に渡されるときに自動的に「変換されて」います。しかし、JavaScript の String プロパティや、length
・substr
などといったメソッドを使用する際には、明示的にtoString
を呼び出す必要があります。 I'm treading carefully with the word "convert" here because it could be misinterpreted as a permanent convert - Maian
Specification
DOM Level 0. Not part of specification.