JQuery - Befestigen Sie die EINGABETASTE KeyPress-Ereignis-Liste posten
Ich Schreibe meine eigene autocomplete plugin mit jquery. Die Elemente der Liste gezogen werden dynamisch auf Basis der json-Antwort. Ich habe up/down-Taste code, die gut funktioniert auf keyup-Ereignis ausgelöst, auf das Eingabefeld.
Möchte ich hinzufügen, geben Sie ein Schlüssel-Ereignis zu jedem Punkt der Liste. Also, wenn der Benutzer die Navigation durch die AutoVervollständigen-dropdown mit den up/down-Pfeil-Tasten, enter-Taste drücken Sie auf Ereignis hinzufügen würde, den Wert, die Liste Element, um das Eingabefeld.
Kann mir bitte jemand helfen? Ich habe versucht verbindlichen Veranstaltung des Listenelements
if (e.keyCode == 40){
//highlight the list item
$("li").bind("keyup",function(e){
if (e.keyCode == 13){
//add value of list item to input field
}
});
}
- Ich Schreibe eine autocomplete plugin für jQuery als gut. Wenn Sie nicht zu weit in Ihrem Projekt, check it out.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Etwas wie dieses:
Erweitern Sie Ihren Kommentar hier ein jfiddle http://jsfiddle.net/csLVX/5/: {Aufräumen mein code ein bisschen!}
Können Sie nicht nur binden, weil die Elemente der Liste sind nicht in den DOM, wenn Sie sich, dass javascript ausgewertet wird.
Blick in die Verwendung von jQuery.live() http://api.jquery.com/live/
Wenn Sie
<div id='autocomplete'><li>...</li></div>
dann könnten Sie rufen Sie die live-Events wie:Die Sie wahrscheinlich verwenden wollen
live()
eher alsbind()
so, dass es funktioniert, auch wenn Ihrli
's werden dynamisch geladen.Die docs sind hier
Ich würde auch hinzufügen, eine bestimmte Klasse für die
li
's, so können Sie einen Selektor wie: