HTML5 AutoFocus属性导致Firefox滚动到页面底部

问题描述 投票:9回答:2

我们有一个带有Twitter Bootstrap的HTML5应用程序(<!DOCTYPE html>)和各种其他JavaScript库(包括jQuery) - 所有这些都运行在他们当前的版本上。

该页面包含一个带有autofocus属性集的文本输入。

<input type="text" autofocus="autofocus" />

该页面包含多个“屏幕”内容,这意味着页面上始终会有一个垂直滚动条。文本输入位于页面的第一个“折叠”内,约。从页面顶部250px。

在Chrome,Safari和Opera上,该页面按预期工作。页面加载时,元素在屏幕上并聚焦。

在FireFox(当前版本 - 18.0.1)上,元素具有焦点,但页面已滚动到1533px(通过window.pageYOffset确定)。具有不同内容长度的同一页面将始终滚动到相同位置,并且该元素将在屏幕外呈现。

绝对只有一个元素具有自动聚焦属性集($("[autofocus]").length)。

从元素中删除自动聚焦属性不会导致页面完全滚动(即页面保持滚动到顶部 - 如预期的那样)。

有人可以提供任何帮助或见解吗?

我们尝试过的事情

以下测试正常:

<!DOCTYPE html>
<html>
<head>  </head>
<body>
  <div style="height: 200px">
    <h1>Test</h1>
  </div>
  <div style="height: 2000px">
    test
    <br />
    <input autofocus type="text" />
  </div>
</body>
</html>
firefox twitter-bootstrap autofocus
2个回答
0
投票

我们最近用Firefox重试了这个并且不能复制这个问题。

关闭...


-1
投票

你需要css代码来说这个:.focusedInput { border-color: rgba(82,168,236,.8); outline: 0; outline: thin dotted \9; -moz-box-shadow: 0 0 8px rgba(82,168,236,.6); box-shadow: 0 0 8px rgba(82,168,236,.6) !important; } 然后文本输入代码是这样的:<input class="form-control focusedInput" type="text">

© www.soinside.com 2019 - 2024. All rights reserved.