很多地方都有这样的效果,今天在蓝色理想看到了这样的效果,学习了一下!~~~
但是加入了onkeyup的事件,用键盘输入是没有问题,但是当用鼠标右键黏贴的时候就不起作用了
于是我加了一个setInterval在很短的一个时间内重复执行一个函数,这样,当复制一大段文字黏贴到textarea的时候,也会限制字数,当用鼠标右键剪切文字时候,也会有相应的变化
代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script>
function subtext(){
var text = document.getElementById("text");
if(text.value.length > 10){
text.value = text.value.substring(0,10);
document.getElementById("num").innerHTML = '10/10';
}else{
document.getElementById("num").innerHTML =text.value.length + '/10';
}
}
</script>
</head>
<body>
<textarea onkeyup='value=value.substr(0,10);this.nextSibling.innerHTML=value.length+"/10";' id="text"></textarea><div id="num">0/10</div>
<script>
setInterval(subtext,100);
</script>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script>
function subtext(){
var text = document.getElementById("text");
if(text.value.length > 10){
text.value = text.value.substring(0,10);
document.getElementById("num").innerHTML = '10/10';
}else{
document.getElementById("num").innerHTML =text.value.length + '/10';
}
}
</script>
</head>
<body>
<textarea onkeyup='value=value.substr(0,10);this.nextSibling.innerHTML=value.length+"/10";' id="text"></textarea><div id="num">0/10</div>
<script>
setInterval(subtext,100);
</script>
</body>
</html>