【问题标题】:Event for input type=number输入类型的事件=数字
【发布时间】:2022-02-11 03:49:00
【问题描述】:

我对 Angularjs 有点陌生。在 Chrome 中,对于数字类型的输入字段,按向上和向下键箭头会增加/减少输入的值。它需要被禁用。有什么想法或帮助吗?

我尝试使用 jQuery:$(":input").bind('keyup mouseup', function (),但 ng-model 绑定没有更新。可能是因为 Angular js 无法识别 jQuery 所做的更改。

【问题讨论】:

    标签: html jquery angularjs input


    【解决方案1】:

    模型不会在 jquery 事件中改变。在 angularjs 中使用 ng-keypress 事件

    【讨论】:

      【解决方案2】:

      如果您需要永久禁用它,最好换一种方式,使用常规文本输入,但限制除数字以外的其他字符。

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

      查看ngPattern 文档

      【讨论】:

        【解决方案3】:

        您可以使用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>

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-11-26
          • 2020-03-31
          • 2016-04-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-12-30
          • 1970-01-01
          相关资源
          最近更新 更多