我对angularjs有点陌生。在用于数字类型输入的chrome中,按向上和向下键箭头增加/减少输入的值。需要禁用它。有什么想法或帮助可以做到吗?
我尝试使用Jquery $(“:input”)。bind('keyup mouseup',function()但ng-model绑定未更新。可能是因为有角度的js无法识别jquery所做的更改。
答案 0 :(得分:0)
如果您需要永久禁用它,最好用另一种方法做,请使用常规文本输入,但限制其他字符而不是数字。
<input type="text" ng-pattern="/^[0-9]*$/" />
签出ngPattern文档
答案 1 :(得分:0)
您可以使用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>
答案 2 :(得分:0)
模型不会在jquery事件中更改。在angularjs中使用ng-keypress事件