2014-08-29 57 views
0

當試圖防止在Android 4.4.4的密碼字段(input type =「password」no-space)中輸入空格鍵時,它不會阻止密鑰被按下。在Android 4.4.2中,它工作正常。我也嘗試使用4.4.2(和設備)上的仿真器,並且也可以。event.preventDefault在Android 4.4.4中不起作用

element.bind("keydown", function(e){ 
    if (e.keyCode === 32){ 
    e.preventDefault(); 
    e.stopPropagation(); 
    } 

這是4.4.4中的錯誤嗎?如何解決?

回答

0

我錯誤地回答了我以前的答案,所以我只是解釋我實施它的方式之一,這可能會奏效。

<input type="text" ng-keydown="disableSpaces($event)"> 
<script> 
    function ctrl($scope){ 
     $scope.disableSpaces = function($event){ 
      if($event.keyCode === 32) $event.preventDefault(); 
     } 
    } 
</script> 

乾杯!

+0

謝謝我會試試這個,但除了你正在使用ng-keydown事件,我在指令中做的事情之外,我沒有看到區別。你能解釋一下嗎? – Gaurav18ca 2014-08-30 14:05:49

+0

我不知道它是否可以工作,但ng-whatever指令在底層具有樣板代碼,所以我們不必實現它。如果您回退以通過指令手動綁定事件,則必須自行實施該樣板。 也許,只是也許在ng-keydown事件中有東西可以使它工作,即使你的代碼實際上是正確的。 – HeberLZ 2014-08-30 16:38:41