Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Запретить печатать в div с contenteditable за пределеами этого элемента (https://javascript.ru/forum/dom-window/43397-zapretit-pechatat-v-div-s-contenteditable-za-predeleami-ehtogo-ehlementa.html)

aspirisen 03.12.2013 23:50

Запретить печатать в div с contenteditable за пределеами этого элемента
 
Привет всем, у меня возникла следующая задача: есть div с contenteditable, и у него указана ширина и высота. Проблема в том что когда текст выходит за пределы высоты эелемента он начиниает печатать текста дальше вниз, overflow: hidden; не подходит так как текст все равно набирается но только его уже не видно. Можно было бы посчитать количество строк, но задача усложняется тем что пользователь может менять размер шрифта, то есть в этот блок может и одна строка влезть, а может и 20.

Octane 04.12.2013 05:36

Я бы попробовал проверять высоту скрола

danik.js 04.12.2013 05:56

Цитата:

Сообщение от aspirisen
у меня возникла следующая задача: есть div с contenteditable, и у него указана ширина и высота

Это не задача. ГДЕ МЛЯ ЗАДАЧА, А??? ЧТО ТЫ ХОЧЕШЬ?

Добавить прокрутку? Дык так и скажи, че ты как целка мнешся.

<div contenteditable style="height: 100px;overflow: auto">Правь меня</div>

Octane 04.12.2013 06:04

danik.js, если ты прочтешь название темы, то станет понятно, что автор хочет запрещать ввод текста, когда тот достигает нижней границы блока, и ты необоснованно грубо ответил.

danik.js 04.12.2013 11:47

Цитата:

Сообщение от Octane
то станет понятно

Дык со скроллом и получается что контент не печатается за пределами. То есть мы запретили печать за пределами!
Запрет печати по высоте, да еще для rich-текста - это что-то, чего не нужно хотеть. Так что без пояснения все же задачи неясно нифига. К примеру мы все-таки сделали это ограничение. Затем пользователь всего лишь увеличит часть шрифта, затем уменьшит. Как результат нижняя строка тупо исчезнет. Без предупреждения. Че за х*ета получится?


Часовой пояс GMT +3, время: 14:57.