Проблема: Номер типа ввода с min, max не работает, при вводе в поле ввода мы можем ввести меньше / больше, чем min, max значение. (но стрелкой номера типа ввода он работает нормально.)
Требование: ограничить ввод значения в номере типа ввода, которое не находится в диапазоне min и max
"Используя Angular. js, вы хотите решить эту проблему без дополнительных указаний и без изменения номера типа ввода на текст." Плункер
ng-keyup: невозможно выполнить event.preventDefault () почему? Вот почему мы можем ввести больше / меньше, чем минимальное или максимальное значение. Я получаю правильное значение при изменении.
ng-keypress: отстает от 1 значения. Итак, первое значение не определено (это проблема для моего вопроса). Я могу сделать event.preventDefault ();
Должен быть: ng-keyup с event.preventDefault (); или ng-keypress в правильном порядке
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $timeout) {
$scope.myScore;
$scope.limit = function(event, myScore){
console.log(event, $scope.myScore, myScore);
// do your code here myScore should be between (min-max)
event.preventDefault();
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.11/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
<!-- <input type="number" ng-model="myScore" min="0" max="200" ng-keypress="limit($event, myScore)"> -->
<input type="number" ng-model="myScore" min="0" max="200" ng-keyup="limit($event, myScore)">
{{myScore}}
</div>