javascript - 滚动条上错误的输入自动完成位置(chrome)

标签 javascript html css google-chrome

我在输入文本的默认自动完成方面遇到了一些麻烦。滚动时它不会相应地移动。我希望自动完成文本保持在输入的正下方。有没有办法做到这一点?这发生在我的 Chrome 浏览器版本 57.0.2987.133

enter image description here

fiddle

<form action="/action_page.php" autocomplete="on">
    First name:<input type="text" name="fname"><br>
    Last name: <input type="text" name="lname"><br>
    E-mail: <input type="email" name="email" ><br>
    <input type="submit">  
    <div style="height:150px">
    </div>
</form>

最佳答案

浏览器不允许您访问自动完成工具提示,因此您可以使用封闭容器滚动它。 默认行为是在滚动 window 时删除工具提示,但它与内部 document 容器的工作方式不同,例如您的情况下的 form 。 我建议强制执行一般行为,删除工具提示,只需从表单的 onscroll 事件属性中的事件输入字段中删除和恢复焦点。

form {
  height: 200px;
  overflow: auto;
}
<form action="/action_page.php" autocomplete="on"
        onscroll="var a = document.activeElement; a.blur(); a.focus();">
    <div style="height:50px"></div>
    First name:<input type="text" name="fname"><br>
    Last name: <input type="text" name="lname"><br>
    E-mail: <input type="email" name="email" ><br>
    <input type="submit">
    <div style="height:150px"></div>
</form>

关于javascript - 滚动条上错误的输入自动完成位置(chrome),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43646805/

相关文章:

javascript - 嵌套 div 上的 jQuery 动画

javascript - 子菜单隐藏在 PDF 类型对象后面(Internet Explorer 中的问题)

css - 如何在div中强制文本

html - 如何修复我的导航栏

javascript - 范围选择器 - 仅在事件时更改条形颜色

css - IE/Firefox 中的填充和/或边距与 Chrome 不同

javascript:如何获取 json 对象的最高层作为数组?

javascript - 使用 head.js 以正确的顺序正确加载脚本和依赖项?

javascript - 从 LocalHost 获取数据

html - 具有不透明度的元素在 Firefox 中落后于 iframe