检测浏览器的自动填充何时打开

时间:2015-08-20 08:07:34

标签: javascript html css

有用于选择已自动填充的输入的伪类(:-webkit-autofill等),但是有没有选择器或其他解决方案来检测浏览器的自动填充下拉列表何时打开?

我希望在浏览器提供自动填充时我可以更改自己的自动完成下拉列表的位置,因为否则它们会重叠,即。当浏览器的自动填充打开时,将我自己的自动完成列表放在输入上方,否则将其显示在元素下方。

我知道我可以完全禁用自动填充功能,但我不愿意。我唯一的另一个选择是让我自己的自动完成始终显示在元素上方吗?

建议将{p> This问题视为重复。那个问题问“如何在浏览器中自动填充文本框?”而我的问题是“你怎么知道浏览器的自动填充下拉列表何时打开?”没有一个答案能解决我的问题。

由于我的意图似乎有点难以解释,这是我的意思的图片:

Autofill dropdown

我要做的是检测自动填充下拉列表,即。文本模糊的框目前是否开放。所有建议的答案都涉及检测用户何时实际选择(或正在盘旋)列表中的某些内容。

在图像中显示的情况下,下拉列表打开但未选择任何内容,轮询伪选择器不会返回任何内容。

1 个答案:

答案 0 :(得分:0)

这取决于。如果您使用此http://oaa-accessibility.org/example/10/之类的机制,则会有与窗口打开关联的事件。否则,如果您想要遵循标准HTML,则严格依赖浏览器访问网页,因为它是在此链接后面说的:http://avernet.blogspot.in/2010/11/autocomplete-and-javascript-change.html。第三种解决方案,但部分解决方案是收听触发自动填充窗口打开的相同按键情况。我的意思是当元素聚焦时,输入,向上箭头,向下箭头,空格键上的'keyup'。