javascript - focus() 无需滚动即可输入

标签 javascript html scroll

我有一个搜索输入文本,我想在加载页面时应用 focus(),问题是 focus 函数会自动滚动到这个领域。任何禁用此滚动的解决方案?

<input id="search_terms" type="text" />
<script>
    document.getelementbyId('search-terms').focus();
</script>

最佳答案

有一个新的 WHATWG standard,它允许您将一个对象传递给 focus(),它指定您要阻止浏览器将元素滚动到 View 中:

const element = document.getElementById('search-terms')

element.focus({
  preventScroll: true
});

Chrome 64Edge Insider Preview build 17046 以来,它一直受到支持,并且应该登陆 Firefox 68web-platform-tests here 上提供了一个支持矩阵。

关于javascript - focus() 无需滚动即可输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4963053/

相关文章:

javascript - 如何使用 jquery 在 $.Ajax() Success 上创建 DOM 元素?

javascript - jQuery scrollTop 检测需要很长时间

滚动时android自定义 ListView 非常慢

javascript - 如何使用 Javascript 更改 API 响应

javascript - 滚动条不工作

html - 如何使用 html/css 和半彩色边框在矩形中仅显示垂直侧边栏

javascript - 保存切换的类 Div(使用本地存储)

javascript - Jquery 弹出窗口覆盖弹出窗口

html - 滑动卡间距问题

javascript - 过滤表检查多列