可以通过使用
autofocus="true"
属性或调用element.focus()
方法来聚焦元素。在这两种情况下,浏览器都会自动将元素滚动到视口中。在大多数情况下这不是问题,但我已经看到了一些我们希望避免这种行为的场景。
例如,自动关注模态框内的文本字段可能会将页面滚动到顶部。
有两种解决方案可以防止这种行为。
使用 preventScroll 选项
我们可以将
preventScroll
选项传递给focus()
方法,如下所示:
element.focus({
preventScroll: true,
});
但是,并非所有浏览器都完全支持该选项。查看