【发布时间】:2011-02-10 21:40:27
【问题描述】:
我有一个搜索输入文本,我想在加载页面时应用focus(),问题是focus 函数会自动滚动到该字段。有什么办法可以禁用这个滚动?
<input id="search_terms" type="text" />
<script>
document.getelementbyId('search-terms').focus();
</script>
【问题讨论】:
-
您想捕捉用户的击键而不他们看到他们正在输入的元素?
-
你为什么认为这种滚动是个问题?
-
加载后必须使用 JavaScript 设置滚动位置:window.scrollTo(x,y)
-
我有一个应用程序正是需要这种行为。我有一个页面显示一年中连续三个月的数据。有下一个和上一个按钮可以更改您查看的三个月。当用户单击下一个或上一个时,我将光标重新聚焦在最后选择的输入上,允许用户跟踪他们的位置(如果他们正在输入数据或检查数字)。在这种情况下,滚动真的很刺耳,并且会阻止您反复按上一个/下一个按钮。
-
这简直把我逼疯了。显然有一个选项可以传递给名为 preventScroll 的焦点:developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus
标签: javascript html scroll