我试图使用javascript获取textarea的字符,并且当你在textarea中输入文字时它工作正常,但是当你使用退格时,它会给出错误的长度人物。
<textarea id = 'textarea' onkeydown = "adjust()"></textarea>
<script>
function adjust() {
var length = document.getElementById("textarea").value.length+1;
alert("length: "+length);
} //end of function adjust()
</script>
例如:
说,你在textarea中的25个字符开始。然后当你使用退格一次时:
警告:26个字符; 再次使用退格键,它会发出警告:25个字符; 然后,24,23,22,21。
这不是真的,因为它应该显示24,23,22,21,20和19。它为什么这样做,我们将如何解决它?
答案 0 :(得分:0)
是否可能是因为您正在收听onkeydown
事件,并且在退格键再次启动之后才会删除每个字符?
答案 1 :(得分:0)
这有效:
function adjust() {
var key = event.keyCode;
if (key == 8 || key == 46) {
var length = document.getElementById("textarea").value.length-1;
} //end of if (key == 8 || key == 46)
else {
var length = document.getElementById("textarea").value.length+1;
}
alert("length: "+length);
} //end of function adjust()