我正在使用以下函数在 contenteditable div 中获取选定的文本(即用户选择的文本)。这在 IE 9 中完美运行,但在 IE 8、Firefox 或 Chrome(均为最新版本)中不适用。
有人可以帮我修改它,使其至少在 Firefox 和 IE 8 中也能正常工作(Chrome 不是必须的)吗?
我的功能(工作):
function GetSelection()
{
selTxt = '';
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());
}
selTxt = container.innerHTML;
}
}
else if (typeof document.selection != 'undefined')
{
if (document.selection.type == 'Text')
{
selTxt = document.selection.createRange().htmlText;
}
}
return selTxt;
}
非常感谢您对此提供的任何帮助,蒂姆。