簡體   English   中英

使用window.getSelection()檢查文本是否突出顯示

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM