2010-03-28 3 views
2

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

Любая идея, как это сделать?

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

Найдено решение here используя различные формулировки (каретку вместо курсора)

ответ

1

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

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

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

Лично мне не нравится, когда курсор перемещается для меня в конец текстового поля. Если я хочу это в конце, для этого мне потребуется часть секунды. Требуется около секунды, чтобы переместить курсор от конца к где-то посередине (конец - более крупная цель, поэтому принимает less time to hit). Если textarea не имеет special purpose, я бы не стал беспокоиться о функции добавления в фокус.

Смежные вопросы