У меня есть простой 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. Я хочу, чтобы он остался там, где он был раньше.
Я предполагаю, что мне нужно сохранить координаты курсора перед изменением, а затем каким-то образом использовать их для установки курсора, но как я могу это сделать?:)
Я попробовал сохранить объект диапазона, но после редактирования я считаю, что он указывает на никуда.
Спасибо!