Как можно увеличить textarea по мере заполняемости с помощью javascript?
Первый вариант:
P.S. С помощью атрибута contenteditable
div {
border: 1px solid;
}
<div contenteditable></div>
Второй вариант:
var textarea = document.getElementsByTagName('textarea')[0];
textarea.addEventListener('keydown', resize);
function resize() {
var el = this;
setTimeout(function() {
el.style.cssText = 'height:auto; padding:0';
el.style.cssText = 'height:' + el.scrollHeight + 'px';
}, 1);
}
textarea {
width: 100%;
resize: none;
}
<textarea rows="1"></textarea>
Пример так, для коллекции.
var textarea = document.getElementsByTagName('textarea')[0];
/*
Чтобы получить необходимы результат и исключить костыльный подход
с setTimeout в теле инструкции обработчика resize, его лучше повесить
на событие input вместо keydown
*/
textarea.addEventListener('input', resize);
function resize(_e) {
var event = _e || event || window.event;
var getElement = event.target || event.srcElement; // var el = this;
getElement.style.height = Math.max(getElement.scrollHeight, getElement.offsetHeight)+"px"
}
textarea {
width: 100%;
resize: none;
max-height: 100px;
-off-padding:0
}
div {
position: relative;
overflow: auto;
border: 1px solid;
max-height: 100px;
}
<div contenteditable></div>
<textarea rows="1"></textarea>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Теорема: Бинарное дерево можно однозначно восстановить имея InOrder и PostOrder/PreOrder последовательности, если последовательности не содержат дубликатов
Начал изучать Selenium WebDriverНад одной проблемой уже два дня голову ломаю