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

按下Enter键触发scrollIntoView()时滚动中途停止的问题

问题:scrollIntoView平滑滚动在Chrome/Edge中按Enter提交表单时异常

项目场景

我正在开发一个项目列表,列表顶部设有添加新项目的表单(包含一个输入框和一个提交按钮)。表单提交后,通过代码document.getElementById(newItemId).scrollIntoView({ behavior: "smooth" });自动滚动到新元素的位置。为测试问题,我创建了包含50个项目的长列表,新项目均添加至列表底部。

问题表现

创建第51个项目时,不同操作方式的表现有差异:

  • 点击提交按钮:Chrome、Firefox、Edge所有浏览器均正常,页面滚动至列表底部。
  • 输入框聚焦时按Enter键提交:Chrome会在滚动中途停止;Edge停在新元素前方;仅Firefox能正常滚动到底部。
  • 通过Tab切换到提交按钮后按Enter键:所有浏览器均正常滚动至目标位置。

补充说明

  • 移除behavior: "smooth"参数后,使用即时滚动无任何中断问题。
  • 在简化测试场景中,表单触发滚动至第50个元素时,Chrome和Edge无滚动效果,Firefox表现正常。

临时方案与诉求

我已经通过window.scrollTo()实现了临时解决方案,但希望能使用scrollIntoView()来避免像素级的位置计算,同时希望确认该问题是否属于浏览器Bug。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 11:42:34