Я занимаюсь разработкой базового c html редактора, и мне нужно добавить li
к ol
, когда нажата клавиша возврата. Мне удалось это сделать, но каждый раз, когда я обновляю innerhtml
в моем contenteditable
div, курсор сбрасывается в начальную позицию. Я бы хотел поместить каретку во вновь созданную li
. Я пробовал что-то подобное, но, к сожалению, это не работает:
setCursor() {
let el, el2, range, sel;
el = document.getElementById('editor');
range = document.createRange();
sel = window.getSelection();
if (el.childNodes.length > 0) {
el2 = el.childNodes[el.childNodes.length - 1];
range.setStartAfter(el2);
} else {
range.setStartAfter(el);
}
range.collapse(true);
sel.removeAllRanges();
sel.addRange(range);
}
Я также пытался заменить
range.setStartAfter(el2);
на
range.setStart(el2,0);
, но все еще ничего не происходит.
У кого-нибудь есть идея заставить его работать? Спасибо.