Ionic Android 4.3 Backspace输入无法正常工作

时间:2016-06-21 13:01:41

标签: android ionic-framework

Android和Ionic上的退格键有一个奇怪的问题。

我正在尝试为4个字符组(最大长度= 3)实现简单输入。 我已经编写了一个指令,以便自动格式化输入,并在达到最大长度时填充下一个输入。这适用于iOS和Android 5 +。

但是,如果我在Samsung S3(4.3)上运行此代码,有时退格键无效。那是 - >输入具有焦点,但不会删除该值。添加另一个角色工作正常。

以下是代码:

.directive('autoNext', function($timeout) {
return {
  restrict: 'A',
  link: function(scope, element, attr, form) {

    var tabindex = parseInt(attr.tabindex);
    var maxLength = parseInt(attr.ngMaxlength);


     element.bind("input propertychange", function (e) {

       element.val(element.val().toUpperCase());
       element.val(element.val().replace(/-/g, ''));
       if (element.val().length > maxLength - 1) {
         var original = element.val();
         var remaining = original.substring(maxLength, original.length);
         var newvalue = original.substring(0, maxLength);
         element.val(newvalue);
         element.triggerHandler('change');
         var newIndex = tabindex + 1;
         var tag = '[tabindex="' + newIndex + '"]';
         var next = angular.element(document.querySelector(tag));
         if (next.length > 0) {
           var nextElement = angular.element(next[0]);

           // if(!(ionic.Platform.isAndroid() && ionic.Platform.version() <= 4.3)) {
             if (remaining.length > 0) {
               nextElement.val(remaining);

               if (ionic.Platform.isIOS()) {
                 next[0].focus();
               } else {
                 $timeout(function () {
                   next[0].focus();
                 }, 5);
               }
               return nextElement.triggerHandler('propertychange');
             } else {
               return false;
             }
           // }
         }
         else {
           return false;
         }
       }
       return true;
     });

0 个答案:

没有答案