2012-03-12

JavaScriptでtextareaに入力中の文字数をカウントする

textareaなどに入力された文字数を表示する場合は、次のようにchangeイベントとkeyupイベントpasteイベントをハンドリングします。changeイベントだけだと、入力欄からフォーカスが外れて編集モードが終了するまで文字数が更新されなくなってしまうので、keyupイベントもハンドリングすることが必要です。また、テキストエリアに文章が貼り付けられた場合に備えて、pasteイベントもハンドリングします。
$("input[type='txtarea']").bind("keyup change paste", function() {
    var txt = $(this).val();
    var len = txt.length;
    console.debug("the text length is " + len)
});


1 件のコメント:

匿名 さんのコメント...

IEで試してますが、Ctrl+Zが動作しなくなりますね。