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

问题描述 投票:19回答:1

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

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

我知道我可以完全禁用自动填充功能,但是我不愿意。是否只有我自己的自动完成功能才是我唯一的选择,总是显示在元素上方?

This问题被建议重复。该问题询问“您如何确定浏览器是否自动填充了文本框?”而我的问题是“您如何知道何时打开浏览器的自动填充下拉菜单?”没有一个答案可以解决我的问题。

由于我的意图似乎很难解释,所以这里是我的意思的图片:

Autofill dropdown

我想做的是检测是否自动填充下拉列表,即带有模糊文本的框当前是否打开。所有建议的答案都与检测用户何时实际选择(或悬停在)列表中的内容有关。

在图像所示的情况下,下拉列表处于打开状态,但未选择任何内容,对伪选择器的轮询将不返回任何内容。

javascript html css browser autocomplete
1个回答
0
投票

取决于。如果您使用类似http://oaa-accessibility.org/example/10/的机制,则会有一个与窗口打开相关的事件。否则,如果您要遵循标准HTML,则严格取决于浏览器是否正在访问该网页,如以下链接所示:http://avernet.blogspot.in/2010/11/autocomplete-and-javascript-change.html。第三种(但不完全是)解决方案是,聆听触发自动填充窗口打开的相同按键情况。我的意思是当元素被聚焦时,在输入,向上箭头,向下箭头,空格键上使用“键”。

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