请参阅此前面的问题: 在Angularjs格式输入值
我遇到的问题是,(这是在回答上面的问题,即在小提琴的情况下http://jsfiddle.net/SAWsA/811/ ),打在剩余的输入导致单号退格出现而不是清除输入零。
小提琴指令代码:
fessmodule.directive('format', ['$filter', function ($filter) {
return {
require: '?ngModel',
link: function (scope, elem, attrs, ctrl) {
if (!ctrl) return;
ctrl.$formatters.unshift(function (a) {
return $filter(attrs.format)(ctrl.$modelValue)
});
ctrl.$parsers.unshift(function (viewValue) {
var plainNumber = viewValue.replace(/[^\d|\-+|\.+]/g, '');
elem.val($filter('number')(plainNumber));
return plainNumber;
});
}
};
}]);
我希望如何改变指令的小提琴任何建议,使您不必打两次退格键清除输入。