У меня есть простой contenteditable div с некоторым текстом в нем. В событии onkeyup я хочу заменить весь контент (innerHTML) div на основе регулярного выражения.
Например,
HTML:
some text, more text and $even more text
Функция, в которой я планирую получить весь текст с помощью $ ($ даже в примере выше ) и оберните его в тег span:
div.onkeypress = function() {
div.innerHTML.replace(/(some_regexp)/, "<span class='class'>$1</span>");
};
Проблема в том, что такой курсор замены перескакивает в начало div. Я хочу, чтобы он оставался там, где был раньше.
Думаю, мне нужно сохранить координаты курсора перед изменением, а затем каким-то образом с их помощью вернуть курсор обратно, но как я могу это сделать? :)
Я попытался сохранить объект диапазона, но после редактирования считаю, что он никуда не указывает.
Спасибо!