эй, ребята, Я столкнулся с немного раздражающей ошибкой, которая в моем случае не очень удобна для пользователя.jquery, javascript: изменить значение ввода на клавиатуре - сохранить позицию курсора в конце, но
Пользователь может установить значения поля ввода с помощью клавиш со стрелками вверх и вниз. Фокус всегда установлен на поле ввода, поэтому пользователь может ввести его после того, как он выбрал значение со стрелками.
Я хочу, чтобы положение курсора ВСЕГДА ОСТАЛОСЬ на последнем знаке входного значения, чтобы пользователь мог ввести сразу после выбора значения с помощью клавиш со стрелками. Это работает отлично, если вы нажмете клавишу со стрелкой вниз, потому что в этом случае курсор автоматически переходит в конец окна ввода.
Точно противоположное происходит, если вы нажимаете клавишу «вверх» - курсор переходит к началу. Я смог исправить это с помощью скрипта setCursorPosition, который я нашел здесь в stackoverflow.
Однако, несмотря на то, что он работает, пользователь не может действительно «чувствовать и видеть» его. Если я нажимаю клавишу со стрелкой вверх, курсор все еще отображается в начале входного значения. Как только я начинаю вводить курсор, прыгает до конца, и он отлично работает.
Посмотри здесь: http://jsfiddle.net/3UHVY/1/
Так интересно, если у вас есть решение, чтобы курсор всегда может оставаться в конце поля ввода, когда я ударил вверх или вниз клавишу со стрелкой, и это также видно и логика Пользователь. Прямо сейчас пользователь может подумать, что он должен схватить мышь и вернуться обратно в поле ввода, чтобы установить курсор в конец.
Вы переписываете поведение текстового поля по умолчанию, чтобы улучшить пользовательский интерфейс? Я сомневаюсь, что это имеет смысл, так как пользователь ожидает другого поведения. –
Также это раздражало меня, потому что Opera автоматически давала мне раскрывающийся список ненужных вещей, когда я нажал кнопку «вниз» ... – jcuenod
@ j3frea вы могли бы остановить это поведение с помощью autocomplete = «off» – matt