javascript - 字符计数器 - 退格键不反射(reflect)剩余字符

标签 javascript html

这是我拥有的字符计数器代码。它显示剩余的字符数。

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");
});

但我有一个问题。当我退格时,显示的数字不会反射(reflect),只有当我开始写入时,计数器才会更新。

如有任何帮助,我们将不胜感激!

最佳答案

问题是 .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>

关于javascript - 字符计数器 - 退格键不反射(reflect)剩余字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42969347/

相关文章:

javascript - jQuery 启动许多按钮

html - 响应式隐藏内联样式背景图片

javascript - 单击时添加 html 元素

javascript - 使用 visual studio 取消缩小 JS (javascript) 代码?

javascript - 如何使用 url 连接我们的 Android 应用程序并将数据传递到该 url

javascript - 从页面隐藏 div

javascript - 如何将计数时间更改为 unix 时间戳?

javascript - 如何从项目目录中读取javascript中的属性文件?

javascript - anchor 链接页面滚动 WITH href 链接

html - Aurelia 将#hash 替换为动态创建的 anchor 标记