1
Как я могу получить выделенный текст (в контентном div) в Firefox? Этого было бы достаточно для последних версий, не нужно покрывать старые версии.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 () '. –