素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: すかいぷ:javascripter_  か javascripter あっと tsukkun.net skypeのほうがいいです

textareaの高さを自動調整

404 Blog Not Found:javascript - 勝手に添削 - textareaの高さを自動調節を参考に、

function resize_textarea(elem){
elem.style.overflow='hidden';
elem.addEventListener('input',function(e){
var lines=e.target.value.split('\n');
e.target.rows=lines.length+1;
//e.target.cols=lines.reduce(function(a,b)Math.max(a,b.length),0)+1;
},false)
}


Array.forEach(document.getElementsByTagName('textarea'),
function(elem){
resize_textarea(elem);
})

というものを作った。
が、英数字の時以外は幅調整がうまくいかないので調べたら、cols属性は文字数を正確に表したものではなく、英数字の幅*指定した数字分の幅になるようだ。

困った。とりあえずコメントアウトしておいてまた考える。
追記:内容に合わせて伸縮するテキストエリア - oct inaoduなんてものがあった。こっちのほうがよさげ。