Как отследить курсор / курсор в contenteditable?

Я бы хотел отследить движение курсора / курсора в contenteditable. Однако я не уверен, что это лучший способ сделать это.

В данный момент я прослушиваю щелчки, нажатия клавиш, нажатия клавиш. (Разумеется, нажатие клавиши не срабатывает даже при использовании клавиш со стрелками или ctrl-x.)

Хотя щелчок работает нормально, проблема с нажатием клавиши заключается в том, что он срабатывает до того, как каретка фактически перемещается, поэтому, когда я запрашиваю текущий диапазон выбора документа, я получаю старую позицию, а не новую. Но если я полагаюсь на keyup для получения обновленной позиции, она срабатывает слишком поздно: каретка перемещается, как только нажимается клавиша, но клавиша отпускается через произвольное время спустя.

Это должно быть возможно, потому что такие вещи, как CKeditor, могут это сделать. Есть намеки?

Ответы на вопрос(4)

Ваш ответ на вопрос