Трябва да извлека в директива стойността на въвеждане на текст, използвайки ng-model, за да изпратя стойност към база данни. Ако използвам в моята директива събитието keydown и напиша например 1234 в моя вход, резултатът, показан в моята директива, е 123, ако напиша abc, резултатът е ab. Ако използвам keyup, този проблем не съществува (тествано с firefox и chrome). Защо възниква?
Моят код:
.directive('updateDbb', ["$http", function ($http) {
return {
restrict: 'A',
require: 'ngModel',
link: function (scope, element, attrs, ngModel) {
// Listen for change events to enable binding
var ngModelValue, inputName, testValid, dbbFieldName, idDbb;
element.bind('keydown', function () {
ngModelValue = ngModel.$viewValue;
console.log(ngModelValue); // Show with delay, not the case with "keyup"!!!
...
keydown
е първата част отkeypress
събитие.keydown
е, когато въвеждането на знака е завършено и след това стойността е обвързана. - person codemonkey   schedule 22.09.2015