先看看HTML代码:
<textareaname="description"onkeyup="checkLength(this);"></textarea>
<br/><small>文字最大长度:250.还剩:<spanid="chLeft">250</span>.</small>
可以看出onkeyup是当用户离开键盘后触发的事件,传递的参数是this(也就是当前所在的文档区域)
然后结合JS代码看一下:
<scripttype="text/javascript">
functioncheckLength(which){
varmaxChars=250;
if(which.value.length>maxChars)
which.value=which.value.substring(0,maxChars);
varcurr=maxChars-which.value.length;
document.getElementById("chLeft").innerHTML=curr.toString();
}
</script>
函数中首先给maxChars变量指定了值(输入区内最多可用的字符数,注意,该变量是个可用于计算的数值)
然后从参数中得到在textarea中已输入的字符长度,并与前面指定的最大长度做比较。
当输入的字符长度超过范围,则使用substring来强制限制其长度(0,maxChars)的意思就是可输入范围是0个字符到maxChars(变量)个字符。
varcurr=maxChars-which.value.length;的作用是算出还可用多少个字符,将数值保存在curr中。
最后通过getElementById定位到id为chLeft的对象(在该HTML中为span),并将curr里的值通过toString方法把数值变为字符串,反馈到span标签内。