Skip to content
Advertisement

Creating a textarea with auto-resize

There was another thread about this, which I’ve tried. But there is one problem: the textarea doesn’t shrink if you delete the content. I can’t find any way to shrink it to the correct size – the clientHeight value comes back as the full size of the textarea, not its contents.

The code from that page is below:

JavaScript

Advertisement

Answer

This works for me (Firefox 3.6/4.0 and Chrome 10/11):

JavaScript
JavaScript
JavaScript

If you want try it on jsfiddle It starts with a single line and grows only the exact amount necessary. It is ok for a single textarea, but I wanted to write something where I would have many many many such textareas (about as much as one would normally have lines in a large text document). In that case it is really slow. (In Firefox it’s insanely slow.) So I really would like an approach that uses pure CSS. This would be possible with contenteditable, but I want it to be plaintext-only.

User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement