du-doch-nicht
Grünschnabel
Guten Morgen,
vorab möchte ich euch erläutern was das Script machen soll.
Wenn ich das Textfeld anklicke, soll darunter eine Liste mit alternativen Eingabemöglichkeiten erscheinen (ähnlich wie das HTML5 Tag "datalist") die der Benutzer wählen kann und im Textfeld übernommen wird, die Liste schließt nach Eingabe automatisch. Der Benutzer hat aber auch die Freiheit, etwas anderes ins Textfeld einzugeben. Beim verlassen des Textfeldes wird die Liste automatisch geschlossen.
Warum nicht Datalist?
Ein paar entscheidende Dinge funktionieren nicht, wie ich es mir vorstelle. Wenn eine Eingabe im Textfeld exisitiert und ich mich doch für eine andere Eingabe aus der Liste entscheide, erscheint keine Liste. Erst nachdem ich die Eingabe aus dem Feld lösche und Doppelklick auf das Inputfeld tätige erscheint die Liste und kann etwas auswählen. Desweiteren ist "datalist" sehr unfelexibel wenn es um CSS-Anpassungen geht.
Meine Frage:
Das "setTimeOut" soll die onBlur-Aktion verzögern, da meine Liste ausserhalb des Textfeldes liegt und ich sonst keine Auswahl anklicken kann, weil sonst die Liste sofort verschwindet wenn ich etwas anklicken möchte. Das "setTimeOut" gibt mir eine gewisse Zeit dennoch eine Auswahl anzuklicken bevor die Liste schließt .
[ ! ] Ich habe aber gemerkt, wenn man langsam den Link in der Liste klickt, wird die Auswahl nicht ins Textfeld übernommen. Langsam in dem Fall, wenn man die Auswahl mit der Maus anklickt, aber in den 200ms die Maustaste nicht loslässt, wird die Auswahl nicht übernommen.
Ich kenn mich mit Javascript noch nicht so gut aus. Wäre sehr dankbar für eure Hilfe
Live-Quellcode: http://jsfiddle.net/YdSy6/
vorab möchte ich euch erläutern was das Script machen soll.
Wenn ich das Textfeld anklicke, soll darunter eine Liste mit alternativen Eingabemöglichkeiten erscheinen (ähnlich wie das HTML5 Tag "datalist") die der Benutzer wählen kann und im Textfeld übernommen wird, die Liste schließt nach Eingabe automatisch. Der Benutzer hat aber auch die Freiheit, etwas anderes ins Textfeld einzugeben. Beim verlassen des Textfeldes wird die Liste automatisch geschlossen.
Warum nicht Datalist?
Ein paar entscheidende Dinge funktionieren nicht, wie ich es mir vorstelle. Wenn eine Eingabe im Textfeld exisitiert und ich mich doch für eine andere Eingabe aus der Liste entscheide, erscheint keine Liste. Erst nachdem ich die Eingabe aus dem Feld lösche und Doppelklick auf das Inputfeld tätige erscheint die Liste und kann etwas auswählen. Desweiteren ist "datalist" sehr unfelexibel wenn es um CSS-Anpassungen geht.
Meine Frage:
Das "setTimeOut" soll die onBlur-Aktion verzögern, da meine Liste ausserhalb des Textfeldes liegt und ich sonst keine Auswahl anklicken kann, weil sonst die Liste sofort verschwindet wenn ich etwas anklicken möchte. Das "setTimeOut" gibt mir eine gewisse Zeit dennoch eine Auswahl anzuklicken bevor die Liste schließt .
[ ! ] Ich habe aber gemerkt, wenn man langsam den Link in der Liste klickt, wird die Auswahl nicht ins Textfeld übernommen. Langsam in dem Fall, wenn man die Auswahl mit der Maus anklickt, aber in den 200ms die Maustaste nicht loslässt, wird die Auswahl nicht übernommen.
- Gibt es für "setTimeOut" eine alternative?
- Wie kann das Script umgeschrieben werden, damit es zu 100% funktioniert?
- Das Script wird im Intranet eingesetzt und muss nicht Barrierefrei sein.
Ich kenn mich mit Javascript noch nicht so gut aus. Wäre sehr dankbar für eure Hilfe
Live-Quellcode: http://jsfiddle.net/YdSy6/