Javascript 如何防止窗口在调整文本区域大小后自动滚动?
我正在做一个表单来编辑数据库中存储的文章。文章正文在textarea标记中编辑。“全部”窗体不适合该窗口,因此存在由浏览器创建的滚动条。但是文本区域也受到了限制,当文本太大时,浏览器会创建第二个滚动条 为了提高可用性,我编写了一个简单的代码,在编辑文本时调整文本区域的大小,因此文本始终可见,并且没有第二个滚动条是的,我也不喜欢使用两个滚动条在堆栈溢出中写入Javascript 如何防止窗口在调整文本区域大小后自动滚动?,javascript,events,scroll,usability,Javascript,Events,Scroll,Usability,我正在做一个表单来编辑数据库中存储的文章。文章正文在textarea标记中编辑。“全部”窗体不适合该窗口,因此存在由浏览器创建的滚动条。但是文本区域也受到了限制,当文本太大时,浏览器会创建第二个滚动条 为了提高可用性,我编写了一个简单的代码,在编辑文本时调整文本区域的大小,因此文本始终可见,并且没有第二个滚动条是的,我也不喜欢使用两个滚动条在堆栈溢出中写入 // This line is between some tasks of textEditUpdate function: elemTex
// This line is between some tasks of textEditUpdate function:
elemTextArea.style.height = Math.max(elemTextArea.scrollHeight, 200)+'px';
// This automatizes the process:
elemTextArea.addEventListener("input", textEditUpdate, false);
问题是当文本区域调整大小时,窗口会自动滚动,直到光标位于页面底部。用户失去了工作点,移动很突然,也看不到光标下方的文本-这很烦人
我对解决这个问题的最佳方法表示怀疑,不知道是否有办法防止这一事件发生,否则我将不得不跟踪滚动位置并一直纠正它…你认为呢
编辑:请使窗口变小以改善效果,并注意它不会一直发生-它会突然滚动 我认为:创建plnkr。一个可玩的例子,你的问题。。。或者我在JSFIDLE中尝试过,不会起作用。但我会制作一个网页。你能描述一下重现问题的步骤吗?而且,你在玩弄事物的默认行为。相信我,如果自动扩展文本框是最好的可用性,那么编写规范的人就会要求它。