1

如何在Firefox中獲取所選文本(在contenteditable div中)?最近的版本就足夠了,不需要覆蓋舊版本。JavaScript/jQuery:如何在Firefox中獲取所選文本

說我有一個contenteditable div,看起來像下面和有人選擇一個文本,然後點擊一個按鈕,我怎麼能將選定的文本複製到剪貼板或變量?

例子:

<div class='editInput' id='editInput'>Some awesome text</div> 

我現在的功能(工作在IE):

function GetSelection() 
{ 
    if (typeof window.getSelection != "undefined") 
    { 
     var sel = window.getSelection(); 
     if (sel.rangeCount) 
     { 
      var container = document.createElement('div'); 
      for (var i = 0, len = sel.rangeCount; i < len; ++i) 
       container.appendChild(sel.getRangeAt(i).cloneContents()); 
      return container.innerHTML; 
     } 
    } 
    else if (typeof document.selection != 'undefined') 
     if (document.selection.type == 'Text') 
      return document.selection.createRange().htmlText; 

    return ''; 
} 

感謝任何幫助,蒂姆。

回答

3
var selectedText = "" + window.getSelection(); 
+0

嗨蒂姆,感謝您的快速回復。你能告訴我如何更新上述功能,以便覆蓋這個功能嗎?我想讓它在不同的瀏覽器中工作,這已經適用於IE。我會更新這篇文章。 – user2571510

+1

window.getSelection()是標準化的,適用於所有瀏覽器,不要使用document.getSelection(),因爲這不正確地返回字符串之前FF 8 –

+0

@WaiKitKung:這是真的,但我不認爲任何人提到'document.getSelection )'。 –

相關問題