Прокрутите поле ввода до позиции курсора в JavaScript - PullRequest
2 голосов
/ 28 марта 2010

Я написал простую функцию JS, которая помещает курсор в конец содержимого поля ввода, когда он получает фокус (наиболее распространенное действие в блоке - добавление). Я не проверял в IE, но когда текста больше, чем видно, даже перемещение курсора в конец ввода не прокручивает представление до конца ввода в Firefox 3.6.

Есть идеи, как это сделать?

P.S. И нет, я не использую JQuery, и это не вариант;)

Нашли решение здесь , используя другую формулировку (каретка вместо курсора)

1 Ответ

1 голос
/ 29 марта 2010

Вы можете прокрутить, назначив свойство scrollTop текстовой области:

// scroll to bottom
elt.scrollTop = elt.scrollHeight;

Firefox и Safari также предлагают scrollByLines, а IE имеет doScroll, но свойство scrollTop является кросс-браузерным и более простым в использовании.

Лично мне не нравится, когда курсор перемещается для меня в конец текстовой области. Если я хочу это в конце, мне понадобится доля секунды, чтобы сделать это самостоятельно. Перемещение курсора от конца к где-то посередине занимает около секунды (конец - более крупная цель, поэтому для достижения требуется меньше времени). Если бы текстовая область не имела специального назначения , я бы не стал беспокоиться о функции добавления на фокусе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...