2017-05-03 94 views
2

我想構建一個輸入字段,它只將數字作爲輸入,因此它的輸入類型是數字。 但Android設備上可見的鍵盤上有一個「。」鍵盤上的按鈕,所以我試圖阻止該按鈕。使用以下代碼event.preventDefault()在Android中不起作用Ionic

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

229是「。」的ASCII碼。 Android中編號鍵盤的關鍵。 請幫我

更新: 1)這應該在移動設備上工作。 2)輸入類型爲「數字」 所有解決方案都適用於瀏覽器,但不適用於移動設備。

謝謝 的Sandip賈達夫

+0

http://stackoverflow.com/questions/25413145 /限制字符在輸入字段到字符集的字符檢查此..這可能會幫助 –

回答

0

我不知道,但你可以嘗試不同的方法

我想$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

0

它能夠更好地使用preventDefault爲inline

<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():''"> 

它將檢查這兩個鍵,防止其插入 陽痿要注意它粘貼這些codes.here我不會阻止已添加鍵碼32爲測試目的它防止插入spaceba,更改爲您的要求 更多請參閱此筆http://codepen.io/edisonpappi/pen/YVxLxX?editors=1010

+0

不工作.... –

+0

查看更新的答案 – Edison

相關問題