Как переместить точку выделения в начало поля ввода? - PullRequest
0 голосов
/ 08 мая 2020

У меня есть поле ввода (с использованием redux-формы):

 <input
                {...input}
                autoFocus
                onFocus={(e)=> {
                    var val = e.target.value;
                    e.target.value = '';
                    e.target.value = val;
                    }}
                className={'hinput'}
                value={input.value}/>

Когда ввод сфокусирован, он начинает печатать с позиции, в которой вы щелкаете (справа или слева от значения). Как заставить пользователя начать ввод с самого начала, когда ввод сфокусирован?

Неправильное поведение:

enter image description here

Я пытался используйте функцию onFocus и попробуйте e.target.value='' сбросить значение так, чтобы оно было go в начало, но это не работает. Заранее спасибо

1 Ответ

3 голосов
/ 08 мая 2020

Я думаю, вам нужна функция для перемещения точки выбора: HTMLInputElement.setSelectionRange () .

onClick={(e)=> {
  e.target.setSelectionRange(0, 0);
}}

function handleClick (input) {
  console.log('handleClick()');
  input.setSelectionRange(0, 0);
}
Click on input:<br/>
<input value="35.00" onclick="handleClick(this);" />
...