我正在尝试在键入时调整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,然后出现浏览器的滚动条并强制将焦点置于页面顶部,然后快速返回结束页。这会给用户带来非常糟糕的闪烁效果,我正在寻找它。
答案 0 :(得分:0)
为什么首先将高度设置为1px? 似乎Firefox会跳到屏幕的顶部,因为文本框的高度会缩小,然后在设置正确的高度时会跳回来。