[英]Check whether text is highlighted using window.getSelection()
我正在編寫一個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() != "")
你的問題是你正在檢查toString()
的結果的typeof
...這不是一個空字符串(它將是“字符串”)。
此外,由於空字符串是一個虛假的值,你可以做到
if(window.getSelection().toString())
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.