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 '';
}
感謝任何幫助,蒂姆。
嗨蒂姆,感謝您的快速回復。你能告訴我如何更新上述功能,以便覆蓋這個功能嗎?我想讓它在不同的瀏覽器中工作,這已經適用於IE。我會更新這篇文章。 – user2571510
window.getSelection()是標準化的,適用於所有瀏覽器,不要使用document.getSelection(),因爲這不正確地返回字符串之前FF 8 –
@WaiKitKung:這是真的,但我不認爲任何人提到'document.getSelection )'。 –