Ich habe dieses Eingabefeld I für eine Suche bin mit:Update AngularJS ng-Modell nur bei Tastendruck eingeben?
<input id="search_input" type="text" ng-model="filter.search_terms">
Es gibt viele andere Filter ich auch verwenden (Kontrollkästchen, Radio, usw.) und ich habe ein $ Uhr auf Filter, so werden alle Änderungen Feuer eine Suche. Das Problem ist, dass ich nicht möchte, dass die Suche für das Textfeld jedes Mal, wenn ich einen Buchstaben einlege, und nur wollen, dass es auf dem filter.search_terms nur einmal "Enter" speichert.
Gibt es eine einfache Möglichkeit, dies zu tun, oder muss ich das ng-Modell entfernen und einen ng-Klick mit einer Funktion ausführen, die es auf Enter setzt?
das ist es. Bin ich der Einzige, der erwartet hat, dass die Dokumentation (z. B. https://docs.angularjs.org/api/ng/directive/ngModelOptions) eine Liste dessen enthalten würde, was Sie in ng-model-options einfügen können und was sie tun würde machen? Es ist mir nicht klar, warum "Unschärfe ändern" das besondere Verhalten hat, das es hat. –
Dies funktioniert nicht mit IE11, da im IE das Ereignis "change" nicht ausgegeben wird, wenn die "Enter" -Taste gedrückt wird. Die Art, wie ich daran gearbeitet habe, ist, dass ich das "change" -Ereignis durch ein benutzerdefiniertes "keydown_enter" ersetzt habe und eine Direktive erstellt habe, die "keydown_enter" ausgibt, wenn "keydown" mit 'keycode === 13' auf dem DOM-Element ausgelöst wird. Fyi –