键入时调整textarea的大小

时间:2012-08-21 08:04:18

标签: javascript resize textarea

我正在尝试在键入时调整textarea的大小以调整textarea高度和文本内部的高度。我使用以下javascript代码执行此操作:

function textAreaAdjust(o) 
{
  o.style.height = "1px";
  o.style.height = (o.clientHeight)+"px";  
}

并在我的textarea上试过onkeydown事件:

<form:form modelAttribute="article" action="articleeditsubmit">
    <input type="submit" value="Editer" />
    <form:input path="title" /> ¨<br/>
    <form:textarea path="content"  onkeydown = "textAreaAdjust(content)"  style="width:100%;overflow:hidden"  />
    <form:hidden path="id" /><br/>                  
</form:form>

此代码适用于Chrome浏览器,但在键入超出屏幕高度的长文本时使用Firefox,然后出现浏览器的滚动条并强制将焦点置于页面顶部,然后快速返回结束页。这会给用户带来非常糟糕的闪烁效果,我正在寻找它。

1 个答案:

答案 0 :(得分:0)

为什么首先将高度设置为1px? 似乎Firefox会跳到屏幕的顶部,因为文本框的高度会缩小,然后在设置正确的高度时会跳回来。