1.想实现textarea默认是空,输入文字时显示按钮。而把文字删除后 按钮消失,
请问这个怎么实现
监听textarea的onchange、onpropertychange、oninput、onkeyup事件,一旦触发事件就检查textarea里面的内容。内容为空,按钮就隐藏。不为空按钮就出现
这4个事件的区别:
onchenge触发条件:当前对象的属性改变(由键盘或鼠标触发)且对象失去焦点
onpropertychange是当前对象属性改变就会触发但是是IE专属
oninput和onpropertychange类似,但是支持firefox和opera等这种非IE浏览器的
onkeyup捕获用户键盘输入事件(不支持复制粘贴)
可以结合oninput和onpropertychange一起使用对textarea的内容进行判断
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
function keypress() //textarea输入长度处理
{
var text1=document.getElementById("myarea").value;
var len;//记录剩余字符串的长度
if(text1.length>=300)//textarea控件不能用maxlength属性,就通过这样显示输入字符数了
{
document.getElementById("myarea").value=text1.substr(0,300);
len=0;
}
else
{
len=300-text1.length;
}
var show="你还可以输入"+len+"个字";
document.getElementById("pinglun").innerText=show;
}
</script>
</head>
<body>
<center>
<div style="text-align:left;">
<h3>评论内容:</h3><br>
<textarea id="myarea" style="height:100px;width:200px;overflow-x:hidden;overflow-y:hidden" onKeyUp="keypress()" onblur="keypress()"></textarea>
<font color="gray"><label id="pinglun">你还可以输入300个字</label></font>
<div>
</center>
</body>
</html>
13 回答13.1k 阅读
7 回答2.3k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.5k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
用 JQuery 使用 keyup 时间做监听, 判断 textarea value 长度