Buduję aplikację internetową dla komputera z ekranem dotykowym, który wymaga klawiatury ekranowej i próbuję użyć tego znakomitego (lub najmniejszego z nich) Udało mi się znaleźć, że to nie była straszna) klawiatura. https://github.com/Mottie/Keyboard/Zaktualizuj modele AngularJS z wtyczki jQuery z wywołaniem "na zmianę"
Problem polega na tym, jak już można się domyślić, że model nie jest aktualizowany podczas używania klawiatury ekranowej. To jest mój kod, który rodzaj robót, ale wszelkiego rodzaju brzydkie:
partitial HTML:
<input type="text" class="keyboard" ng-model="newUser.name">
<input type="text" class="keyboard" ng-model="newUser.email>
Inicjowanie klawiaturę z partitial kontrolera widoku:
$('.keyboard')
.keyboard({
stickyShift: false,
usePreview: false,
autoAccept: true,
change: function(e, kb, el) {
$scope.newUser.name = el.value;
}
});
Więc na zmiana wywołana przez wtyczkę jQuery mogę uruchomić coś. Oczywiście działa to tylko aktualizując pojedyncze pole/model, nazwę jeden (podczas gdy adres e-mail nie działa w ogóle i nadpisze pole nazwy), potrzebuję dowolnej liczby pól do zaktualizowania, gdy są używane z klawiaturą, a jeden poprawny. Jak rozwiązać ten problem w sposób mniej straszny, niezmienny (jeśli to możliwe i niezbyt skomplikowany)?
Użyj dyrektywy, aby wywołać doskonałą metodę klawiatury na klawiaturze. W takim przypadku możesz mieć ngModel elementu. – Abilash
Sugerowanie czegoś podobnego do ui-select2 z angular-ui.js – Abilash
Czy Angular-UI jest potrzebny, a nawet pomocny w tym? Coś więcej niż zwykłe pole tekstowe jest przesadą dla tego konkretnego problemu, chyba że zawiera już lepszą klawiaturę ekranową. –