ユーザーがページ上のテキストを強調表示/選択したかどうかを最初に確認する必要があるJavaScript関数を作成しています。これが機能するはずだとオンラインで読みました:
if ( typeof window.getSelection() != "undefined" ) {
var x = window.getSelection().toString();
}
else {
//nothing is selected, so use default value
var x = "default value";
}
しかし、何も選択されていない場合でも window.getSelection() がオブジェクトを返すため、これは機能しませんでした。
if ( typeof window.getSelection().toString() !== "" ) {
var x = window.getSelection().toString();
}
else {
//nothing is selected, so use default value
var x = "default value";
}
ただし、window.getSelection().toString() は空の文字列を返しますが、デフォルト値ではなくその空の文字列を引き続き使用します。
最後に、if ( window.getSelection() )
どちらも機能しませんでした。
何かが選択されているかどうかを知るにはどうすればよいですか?