【问题标题】:event.preventDefault() not working in Android Ionicevent.preventDefault() 在 Android Ionic 中不起作用
【发布时间】:2017-05-03 11:13:44
【问题描述】:

我正在尝试构建一个仅将数字作为输入的输入字段,因此它的输入类型是数字。 但Android设备上可见的键盘有一个“。”键盘上的按钮,所以我试图阻止该按钮。使用下面的代码

onKeyDown = function(event){
          console.log('KEY: ' + event.which);
          if (event.which == 250 || event.which == 229) {
                event.preventDefault();
          }
      };

229 是“.”的 ASCII 码。 Android中数字键盘的键。 请帮帮我

更新: 1)这应该适用于移动设备。 2) 输入类型为“数字” 所有解决方案都适用于浏览器,但不适用于移动设备。

谢谢你 桑迪普·贾达夫

【问题讨论】:

标签: css angularjs ionic-framework


【解决方案1】:

我不确定,但你可以尝试不同的方法

我想$scope.input 它是一个包含输入值的ngModel

onKeyDown = function(event){
      console.log('KEY: ' + event.which);
      if (event.which == 250 || event.which == 229) {
            $scope.input = $scope.input.substring(0, $scope.input.length - 1);
      }
  };

警告仅当光标位于字符串末尾时才会起作用

也可以查看这个话题Restricting Characters in Input Field to a Set of Characters

【讨论】:

    【解决方案2】:

    最好使用preventDefault 作为内联

    <input name="firstname" type="text" ng-model="contact.first_name" required="required" placeholder="first name" ng-keypress="($event.which==32 || $event.which==229)?$event.preventDefault():''">
    

    它将检查两个键并阻止插入它 无法注意 它不会阻止粘贴这些代码。在这里我添加了密钥代码 32 用于测试目的,它可以防止插入空格,根据您的要求进行更改 更多请看这支笔http://codepen.io/edisonpappi/pen/YVxLxX?editors=1010

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-04
      • 2022-01-02
      • 2016-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多