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

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

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

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

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

18
задан Yang 12 July 2012 в 02:21
поделиться