У меня есть элемент contentEditable (может быть p, div, ...), и я хотел бы получить в нем позицию курсора (курсора). Обычно я могу добиться этого с помощью этого фрагмента кода:
var position = window.getSelection().getRangeAt(0).startOffset;
Это отлично работает, пока элемент содержит только текст. Но когда элемент содержит некоторое форматирование HTML, возвращаемая позиция относительно позиции курсора внутри включенного HTML-элемента.
Предположим, что содержимое элемента contentEditable таково:
AB<b>CD</b>EF
Если курсор находится внутри <b></b>
, скажем между C и D, возвращенная позиция с приведенным выше кодом равна 1 вместо 3 (отсчитывается от начала содержимого элемента contentEditable)
Может ли кто-нибудь решить эту проблему?
<p>
разрешено contentEditable. Теперь я пытаюсь решить проблему, когда пользователь хочет перейти от одного абзаца к другому, просто используя клавиши со стрелками. Поэтому мне нужно определить, где в абзаце находится курсор, чтобы я мог переместить его в соответствии с нажатой клавишей со стрелкой. - person Frodik   schedule 23.01.2011