textarea计算字符长度错误

Leo*_*Leo 0 javascript jquery textarea

当我在textarea中输入第一个字符时,它仍显示0,而第二个字符的count则为1.不知道为什么?我正在使用keydown事件.

$(".textArea").keydown(updateCount());

function updateCount() {
    count = $(".textArea").val().length;
    this.$countDiv.text(count + " of 240");
};
Run Code Online (Sandbox Code Playgroud)

Arc*_*her 5

使用该input活动.这将涵盖文本框值的所有更改,包括复制和粘贴等(即使使用鼠标)...

$("#text").on("input", updateCount);

function updateCount() {
    count = $("#text").val().length;
    $("#count").text(count + " of 240");
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<textarea id="text"></textarea>
<div id="count"></div>
Run Code Online (Sandbox Code Playgroud)

还有一些其他问题,比如你执行updateCount函数的事实,而不是将它分配给事件处理程序(你()在函数名之后.如果你删除它然后它成为函数的引用,而不是在那里执行它然后).

我也使用了textarea元素的id,而不是类,但这只是我 - 如果一个类在你的场景中运行那么它就没问题了.