Ermitteln, wann die automatische Füllung des Browsers geöffnet ist

9

Es gibt Pseudo-Klassen ( :-webkit-autofill usw.) für die Auswahl von Eingaben, die automatisch ausgefüllt wurden, aber gibt es einen Selektor oder eine andere Lösung, um zu erkennen, wann das AutoFill-Dropdown eines Browsers geöffnet ist?

Ich hatte gehofft, ich könnte die Platzierung meiner eigenen Autocomplete-Dropdown-Liste ändern, wenn ein Browser Autofill anbietet, weil sie sich ansonsten überlappen, d. Platziere meine eigene Autocomplete-Liste über einer Eingabe, wenn die Autofill-Funktion des Browsers geöffnet ist, ansonsten wird sie unter dem Element angezeigt.

Ich weiß, dass ich AutoFill komplett deaktivieren kann, aber ich möchte es lieber nicht. Ist meine einzige andere Möglichkeit, nur meine eigene Autovervollständigung immer über dem Element erscheinen zu lassen?

Diese Frage wurde als Duplikat vorgeschlagen. Diese Frage fragt "Wie können Sie feststellen, ob ein Browser automatisch eine Textbox gefüllt hat?" während meine Frage ist "Wie erkennen Sie, wenn ein AutoFill-Dropdown-Menü geöffnet ist?" Keine der Antworten bietet eine Lösung für meine Frage.

Da meine Absicht ein bisschen schwer zu erklären ist, hier ist ein Bild von dem, was ich meine:

Was ich versuche, ist zu erkennen, ob das AutoFill-Dropdown, d. Die Box mit unscharfem Text ist momentan geöffnet oder nicht. Alle vorgeschlagenen Antworten befassen sich mit der Erkennung, wenn ein Benutzer tatsächlich etwas in der Liste ausgewählt hat (oder darüber schwebt).

In der im Bild gezeigten Situation, in der die Dropdown-Liste geöffnet ist, aber nichts ausgewählt wurde, gibt die Suche nach Pseudo-Selektoren nichts zurück.

    
Schlaus 20.08.2015, 08:07
quelle

1 Antwort

0

Es kommt darauf an. Wenn Sie einen Mechanismus wie diesen Ссылка verwenden, ist ein Ereignis mit dem Öffnen des Fensters verknüpft. Andernfalls, wenn Sie dem Standard-HTML folgen möchten, hängt es ausschließlich vom Browser ab, der die Webseite besucht, wie es gesagt wird, folgend diesem Link: Ссылка . Eine dritte, aber teilweise Lösung besteht darin, die gleichen Tastendruck-Fälle anzuhören, die das Öffnen eines Autofill-Fensters auslösen. Ich meine "keyup" auf Eingabe, Pfeil nach oben, Pfeil nach unten, Leerzeichen, wenn ein Element fokussiert ist.

    
morels 15.09.2015 09:11
quelle

Tags und Links