Получить позиции выделенного текста в div contenteditable
Второй день парюсь. Решил задать вопрос здесь.
Есть:
<div contenteditabled="true" class="editor">text, my text. Get selected text, please help me to get position of selected text</div>
На jquery пытаюсь найти позиции (начало и конец) выделенного текста. Перепробовал несколько функций из Гугла, но нормальной не нашел.
Как получить позиции? Нужно для того, чтобы обернуть выделенный текст в тег <b>...</b>
Ответы (1 шт):
Автор решения: Michael Miller
→ Ссылка
function changeSelected(){
if (window.getSelection() == '') {
return false;
}
var range = window.getSelection().getRangeAt(0);
var selectionContents = range.extractContents();
var span = document.createElement("span");
span.appendChild(selectionContents);
span.setAttribute("class", "selected");
span.style.backgroundColor = "yellow";
span.style.color = "green";
range.insertNode(span);
}
Правда, не знаю стоит ли добавить document.selection?