【发布时间】:2015-11-13 18:38:48
【问题描述】:
有用于选择已自动填充的输入的伪类(:-webkit-autofill 等),但是否有选择器或其他解决方案来检测浏览器的自动填充下拉菜单何时打开?
我希望当浏览器提供自动填充功能时,我可以更改自己的自动完成下拉列表的位置,否则它们会重叠,即。当浏览器的自动填充打开时,将我自己的自动完成列表放在输入上方,否则将其显示在元素下方。
我知道我可以完全禁用自动填充,但我不想这样做。我唯一的其他选择是让我自己的自动完成总是出现在元素上方吗?
This 问题被建议重复。该问题询问“您如何判断浏览器是否自动填充了文本框?”而我的问题是“您如何判断浏览器的自动填充下拉菜单何时打开?”没有一个答案可以解决我的问题。
由于我的意图似乎有点难以解释,这里是我的意思的图片:
我正在尝试做的是检测是否自动填充下拉菜单,即。带有模糊文本的框当前是否打开。所有建议的答案都涉及检测用户何时实际选择(或悬停在)列表中的某些内容。
在图像所示的情况下,下拉菜单打开但没有选择任何内容,轮询伪选择器不会返回任何内容。
【问题讨论】:
-
@MarkHill 不是重复的,我已经在澄清中进行了编辑。
-
@ThiagoPXP 对不起,我不明白它是如何工作的。自动填充选择器仅在填充某些内容后才应用,而不是在实际的本机下拉菜单打开时应用。即使忽略这一点,本机自动填充下拉菜单也不会影响所选输入的高度。如果我没有得到它,请澄清一下吗?
-
@Adjit 不是,这将是一个隐私问题。我不想访问实际的框,我只想知道它是否打开,所以我可以将我自己的自动完成移到输入上方。
标签: javascript html css browser autocomplete