如何在键入文本时自动增加textarea的宽度?

时间:2011-03-13 16:19:24

标签: javascript jquery resize textarea

我正在尝试构建一个textarea,其宽度将在插入文本时动态增加。

我发现很多脚本会通过改变它的高度来动态调整textarea的大小,但不能满足我的需要。

所以你知道任何有用的东西吗?

2 个答案:

答案 0 :(得分:2)

这可能会有所帮助..

<textarea id="tarea" onkeypress="change()" style="width:200;"> </textarea>


<script type="text/javascript"> 
function change() {
    var a = document.getElementById('tarea');
    var len = a.value.length;
    a.style.width = 200 + len;
    alert(a.style.width);
}
</script>

祝你有个美好的一天..

答案 1 :(得分:0)

给textarea一个ID。如果textarea中的字体是等宽字体很简单。如果不是有点复杂(创建一个字符宽度的分布函数,平均使用它)。

在onkeyup或onkeypressed事件上使用类似

的内容
if (document.getElementById('yourid').value.lenght>defaultValue)
{
    defaultValue = defaultValue+charWidth;
    document.getElementById('yourid').width = (defaultValue+charWidth)+'px';       
}