Javascript 键入时重新编辑文本区域

Javascript 键入时重新编辑文本区域,javascript,resize,textarea,Javascript,Resize,Textarea,我试图在键入时调整textarea的大小,以调整textarea的高度与内部文本的高度。我使用以下javascript代码执行此操作: 功能文本区域调整(o) { o、 style.height=“1px”; o、 style.height=(o.clientHeight)+“px”; } 并在我的文本区域尝试了onkeydown事件: 这段代码适用于Chrome浏览器,但在Firefox中,当键入超过屏幕高度的长文本时,浏览器的滚动条会出现,并强制将焦点移到页面顶部,然后快速返回到页

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

功能文本区域调整(o)
{
o、 style.height=“1px”;
o、 style.height=(o.clientHeight)+“px”;
}
并在我的文本区域尝试了onkeydown事件:





这段代码适用于Chrome浏览器,但在Firefox中,当键入超过屏幕高度的长文本时,浏览器的滚动条会出现,并强制将焦点移到页面顶部,然后快速返回到页面末尾。这会对用户造成非常糟糕的闪烁效果,我正在寻找解决方法。

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

因为我需要在指定新的高度大小之前重新调整文本区域的大小,否则高度会从上一个大小增加,如果删除文本,高度并不总是好的。