Определить положение курсора в поле ввода формы

У меня есть несколько полей ввода со значениями по умолчанию. Я определил табличные индексы для перехода от поля к полю с помощью кнопки табуляции. Проблема в том, что когда я попадаю в поле, весь текст выделяется, и он заменяется, если я начинаю печатать. Я хотел бы установить позицию курсора в конец предварительно заполненного текста. Как я могу это сделать?

2 ответа

Определив событие onfocus на каждом узле. И установка каретки до конца. Из-за поведения фокуса / щелчка по умолчанию установка курсора должна быть отложена.

function setCursorAtEnd(node){
    setTimeout(function(){
         setCursor(node,node.value.length);
    },10);
}

<input onfocus="setCursorAtEnd(this)" value="bla"/>

setCursor Функция, которую вы можете найти в этом вопросе: Установите курсор на 14 текстовых полей.

Я считаю, что вы не можете установить позицию курсора с помощью js, но вы можете подключить функцию для сброса предварительно заполненного текста после первого нажатия клавиши.

Другие вопросы по тегам