Я пытаюсь получить положение текстового курсора сразу после щелчка вниз мышью, чтобы изменить его положение. Проблема в том, что selectionStart
и selectionEnd
не возвращают самую текущую позицию курсора, поскольку "новая" позиция не сохраняется до отпускания щелчка. Фрагмент кода показывает эту проблему, когда вы пытаетесь изменить положение курсора с помощью мыши.
Это странно, потому что технически я могу печатать в «новой» позиции, как только щелкнуть мышью, но selectionStart
по-прежнему возвращает старую позицию. Если положение курсора может четко измениться без отпускания щелчка, то как получить доступ к новой позиции, не дожидаясь mouseup
?
(это также кажется проблемой для отслеживания положения курсора после нажатия клавиш)
const input = document.getElementById('myInput');
input.addEventListener('mousedown', showposition); // click
function showposition() {
document.getElementById("output").innerHTML += " " + input.selectionStart;
}
<input id="myInput">
<p id="output"></p>