You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JavaScript添加文本后textarea滚动条自动置顶的解决求助

解决textarea添加内容后滚动条重置的问题

问题根源在于直接修改内容时,浏览器会默认重置textarea的滚动位置。要保持原有滚动位置,只需在修改内容前后保存并恢复滚动条位置即可:

const textarea = document.getElementById('my_textarea');
let data = "new content added";

// 保存当前滚动条距离顶部的位置
const scrollPos = textarea.scrollTop;
// 推荐用value操作textarea内容(符合表单元素标准用法)
textarea.value = data + textarea.value;
// 恢复之前的滚动位置
textarea.scrollTop = scrollPos;

补充说明

  • 尽量使用textarea.value而非innerHTML操作内容,这是处理表单输入元素的标准方式,兼容性和语义性更好。
  • 如果是往内容末尾追加文本,还可以通过定位光标到末尾实现,但往开头添加内容时,保存并恢复scrollTop是最直接有效的方式。

内容的提问来源于stack exchange,提问作者Eduardo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 09:10:55