JavaScript / jQuery:如何在Firefox中获取所选文本

时间:2013-12-13 09:29:22

标签: firefox selection contenteditable textselection getselection

如何在Firefox中获取所选文本(在一个可信的div中)?对于最新版本来说已经足够了,不需要涵盖旧版本。

假设我有一个满足下面的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 '';
}

感谢您对此提供任何帮助,Tim。

1 个答案:

答案 0 :(得分:3)

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