javascript – 在用户输入时实时显示HTML textarea中的字符数

我正在尝试创建一个带有textarea和span的博客评论表单,该表单向用户显示可以在文本区域中引入的剩余字符数.

所以我有这样的形式:

<form action="comment.php" method="POST" accept-charset="utf-8">
    <textarea name="comment" id="comment" rows="4" cols="56"></textarea>

    <input type="submit" value="Post" />
    <span id="comment-chars-left">512</span> characters left
</form>

然后我写了以下jQuery代码:

$('#comment')
    .keydown(function(event) {
        $('#comment-chars-left').html('' + (512 - $textarea.val().length));
    });

问题是当键入.keydown时首先调用,它会打印剩余字符的数量,然后在textarea中显示键入的新字符.因此,剩余字符的数量没有正确的值,大一个单位.为了使这个工作.应该在插入新角色后调用.keydown.

我该如何解决这个问题?

最佳答案
请改用keyup().

您还需要绑定一些其他事件.

使用bind(‘keyup paste drop’).

释放密钥时事件的键盘,如果有人在您的textarea中粘贴文本,则粘贴,如果有人在您的textarea中删除了一大块文本,则删除.

jsFiddle.

转载注明原文:javascript – 在用户输入时实时显示HTML textarea中的字符数 - 代码日志