我有一个搜索输入文本,我想在加载页面时应用 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 64 和 Edge Insider Preview build 17046 以来,它一直受到支持,并且应该登陆 Firefox 68 – web-platform-tests here 上提供了一个支持矩阵。
关于javascript - focus() 无需滚动即可输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4963053/