我正在编写一个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() )
也不起作用。我怎么知道是否选择了某些东西?
最佳答案
这将起作用:http://jsfiddle.net/tknkh9xa/1/
(window.getSelection().toString() != "")
您的问题是您正在检查
typeof
的结果上的toString()
...,这不是一个空字符串(它将是“ string”)。另外,由于空字符串是虚假值,因此您可以
if(window.getSelection().toString())
关于javascript - 使用window.getSelection()检查文本是否突出显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17027960/