Консультация № 171450
18.08.2009, 15:46
0.00 руб.
0 3 1
Здравствуйте.
Скажите пожалуйста, в Firefox , у меня следующая проблема - когда в textarea появляется линейка прокрутки , то при добавлении символа по onClick (как добавляют смайлы "кликают" по картинке) весь текст прокручивается на начало - как сделать ,что бы текст оставался на месте ? Например , сейчас я пишу этот вопрос и если появится линейка прокрутки ,а я добавлю смайл , то текст останется на месте,а не поедет вверх. Это касается именно Firefox . У меня работает добавление символов и курсор остаётся после добавленного символа, но текст прыгает - т.е. линейка прокрутки подпрыгивает вверх после каждого добавления.
Спасибо.

Обсуждение

Неизвестный
18.08.2009, 22:35
общий
это ответ
Здравствуйте, Dima1967.

Всё просто.

Делайте вот так

var txt = document.getElementById('MyTextarea');
txt.value += 'text I wanted to concatenate';
txt.scrollTop = txt.scrollHeight;

Удачи.
Неизвестный
19.08.2009, 16:42
общий
Здравствуйте.
Вот у меня эта строка txt.scrollTop = txt.scrollHeight; работала так , линейка-прокрутки прокручивалась к самому низу текста т.е. получалось ,что если текст очень большой и пользователь захочет всё перечитать и вставить смайл в середину текста , то его "отпульнёт " в самый конец текста - я вот придумал cursor = obj.scrollTop; - мы получаем координаты курсора того места по которому кликаем если надо вставить смайл) ,а потом obj.scrollTop=cursor; прокручиваем к этому месту.

Спасибо за ответ я благодаря ему разобрался как это работает . Я наверное не совсем внятно сформулировал задачу. У меня на русском языке нет никакой документации по мазилле всё под ie -поэтому приходится решать всё эксперементально )). Спасибо ещё раз.
Неизвестный
19.08.2009, 21:09
общий
Нет, дело не в Вас. Я просто не совсем правильно Вас понял и упустил "что бы текст оставался на месте" и дал пример, который просто прокручивает в самый низ.
Молодец, что разобрались.
Форма ответа