这是我拥有的字符计数器代码。它显示剩余的字符数。
HTML:
<textarea></textarea> <span id='remainingC'></span>
JS:
$('textarea').keypress(function(){
if(this.value.length > 300){
return false;
}
$("#remainingC").html((300 - this.value.length)+ "/ 300");
});
但我有一个问题。当我退格时,显示的数字不反映,只有当我开始写时,计数器才会更新。
任何帮助将不胜感激!
答案 0 :(得分:1)
问题是当使用退格时.keypress()
不会触发。您应该使用input
事件。此外,Math.max
大大简化了剩余的字符计算。
如果您要对<textarea>
中的字符数实施实际上限,您可以随时添加属性maxlength="300"
。
$('textarea').on('input', function() {
$('#remainingC').text(
Math.max(0, 300 - this.value.length) + ' / 300'
)
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea maxlength="300"></textarea> <span id='remainingC'></span>
答案 1 :(得分:0)
使用keydown
事件代替keypress
。
答案 2 :(得分:0)
使用keyup
代替keypress
。当用户按下某些内容时,这将获取所有密钥代码