Добавление места в нижней части текстовой области - PullRequest
2 голосов
/ 09 июля 2011

Не могу найти приличного способа сделать это. Мой редактор - это полноэкранный редактор, а не обычная текстовая область. Он предназначен для полноэкранного редактирования, и проблема заключается в том, что, как только вы дойдете до конца страницы, вы всегда печатаете в нижней части окна браузера, если не нажимаете ввод несколько раз.

Я думал добавить кучу \n\n\n\n\n в конец текстовой области, которая всегда там (если вы сотрете их и начнете печатать снова, они снова появятся), но я не был уверен, насколько хорошо это работать или лучший способ реализовать это. Есть идеи?

Моя лучшая идея заключалась в том, чтобы проверить, равны ли последние N символов значения textarea тому, что я считаю хорошим буфером, то есть 6 \n s, выполнив небольшое регулярное выражение. Если бы он был не равным, он бы добавил его в нижнюю часть и прокрутил до нижней части (чтобы он выглядел как заполнение).

Использование только JavaScript и jQuery (1.6, поэтому .prop() примеров, а не .attr()!)

Вот скриншот, прокрученный вниз (без отступов): screenshot

== UPDATE == Проблема с отступами заключается в том, что редактор выглядит не на весь экран и выглядит странно:

padding issue

Решение, которое я считаю, должно заключаться в изменении реального текста на лету ... возможно

Ответы [ 2 ]

4 голосов
/ 09 июля 2011

Попробуйте применить отступ с помощью CSS к нижней части текстовой области

.editor {
    padding-bottom: 60px; //or the equivalent of 6 lines
}
0 голосов
/ 09 июля 2011

Хороший ответ Родейна - это хорошо, но если вы не хотите терять эту недвижимость за показ содержимого вашего документа, у меня есть какая-то сумасшедшая идея.

Если ваш размер шрифта и высота строки определены, вы можете вычислить координату y текстового символа, непосредственно предшествующего позиции курсора (/180747/kak-poluchit-pozitsiy-stolbtsa-karetki-ne-pikselei-v-tekstovoi-oblasti-v-simvolah-s-samogo-nachala). Что-то вроде ((высота шрифта + высота строки) * текущая строка курсора). Затем, когда это значение y пересекает определенный порог, вы делаете отрицательную верхнюю границу или что-то еще, чтобы переместить ваше пространство редактирования вверх.

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