我正在编写一个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() )
也无效。
我如何知道是否选择了某些内容?
答案 0 :(得分:4)
这将有效:http://jsfiddle.net/tknkh9xa/1/
(window.getSelection().toString() != "")
您的问题是您正在检查typeof
的结果toString()
...这不是一个空字符串(它将是“字符串”)。
此外,由于空字符串是一个虚假的值,你可以只做
if(window.getSelection().toString())