У меня есть немного кода, который возвращает текст выделения, и я могу присвоить эту строку переменной, но теперь все, что мне нужно, - это две переменные: одна для текста перед выделением и одна для текста после выделения,Вот код для получения выбора:
function findSelection(){ //returns the selection object.
var userSelection;
if (window.getSelection) {userSelection = window.getSelection();} // Mozilla Selection object.
else if (document.selection){userSelection = document.selection.createRange();} //gets Microsoft Text Range, should be second b/c Opera has poor support for it.
if (userSelection.text){return userSelection.text} //for Microsoft Objects.
else {return userSelection} //For Mozilla Objects.
}
Затем я нахожу anchorOffset и focusOffset, чтобы найти позиции каретки.Я попытался использовать их для изменения объекта диапазона, например:
var range = document.createRange();
range.setStart(textdiv,0);
range.setEnd(textdiv,5);
Где textdiv
- это переменная, содержащая последний div, на который нажал пользователь.Проблема в том, что firefox просто дает мне "Security error" code: "1000"
в строке range.setStart(textdiv,0);
.
Есть ли более простой способ сделать это?Мне действительно просто нужен текст и больше ничего.