Событие для типа ввода = число - PullRequest
0 голосов
/ 25 января 2019

Я немного новичок в angularjs. В chrome для полей ввода числового типа нажатие клавиш со стрелками вверх и вниз увеличивает / уменьшает введенное значение. Это должно быть отключено. Любые идеи или помощь в том, как это можно сделать?

Я пытался использовать Jquery $ (": input"). Bind ('keyup mouseup', function (), но привязка ng-модели не обновляется. Возможно, угловой js не распознает изменения, сделанные с помощью jquery.

Ответы [ 3 ]

0 голосов
/ 25 января 2019

Вы можете использовать директиву ng-model для доступа к значению входа в контроллере и директиву ng-disabled для управления состоянием ввода. Надеемся, что вам может помочь следующая демонстрация:

var app = angular.module('demo', []);

app.controller('DemoCtrl', function($scope) {
  $scope.myNumber = 0;
  $scope.isDisabled = false;
  $scope.toggle = function() {
    $scope.isDisabled = !$scope.isDisabled;
  };
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<div ng-app="demo">
  <div ng-controller="DemoCtrl">
    <input type="number" ng-model="myNumber" ng-disabled="isDisabled"/>
    <button ng-click="toggle()">Disable/Enable</button>
  </div>
</div>
0 голосов
/ 25 января 2019

Модель не изменится внутри события jquery. Использование события ng-keypress в angularjs

0 голосов
/ 25 января 2019

Если вам нужно отключить его навсегда, лучше сделайте это другим способом, используйте обычный ввод текста, но ограничивайте другие символы, кроме чисел.

<input type="text" ng-pattern="/^[0-9]*$/" />

Проверить ngPattern документы

...