これはなかなかいいですね。
textareaのサイズを入力にあわせて調整するJavaScript (イラストdeブログ開発記)イラストdeブログの掲示板の使い勝手を高めるため、textareaサイズをJavaScriptで改行入力毎に大きくするコードを書いてみました
Firefox 2, Safari 3, Opera 9で動作確認してあります。
function resize_textarea(ev){
//if (ev.keyCode != 13) return;
var textarea = ev.target || ev.srcElement;
var value = textarea.value;
var lines = 1;
for (var i = 0, l = value.length; i < l; i++){
if (value.charAt(i) == '\n') lines++;
}
textarea.setAttribute("rows", lines);
// window.status = lines;
}
以下、変更点を。
try{}catch(e){}は、上のように書けば不要です。- 改行キー(keyCode == 13)を押した時だけではなく、常に
\nの数を数えています。これでも十分な速度が出ますし、行数が減る場合にも対応しています。改行時にのみ作用させたい場合、最初のコメントをアンコメントしてください。 - 最後のコメントアウトされた行はデバッグ用です。
Enjoy!
Dan the JavaScripter
このブログにコメントするにはログインが必要です。
さんログアウト
この記事には許可ユーザしかコメントができません。