Keypress事件无法在Android设备上运行

时间:2016-07-25 16:14:42

标签: android events ionic-framework keypress

我有一个指令来控制我想要格式化的输入值。

directive('validNumber', function(shareDataService) 
 {
      return 
      {
        require: 'ngModel',
        link: function(scope, element, attrs, ngModelCtrl) 
        {
          if(!ngModelCtrl) 
          {
            return;
          }

  ngModelCtrl.$parsers.push(function(val) {
    if (angular.isUndefined(val)) {
        var val = '';
    }
    var clean = val.replace(/[^-0-9\.]/g, '');
          var decimalCheck  = clean.split('.');
    if(!angular.isUndefined(decimalCheck[1]))
    {
        decimalCheck[1] = decimalCheck[1].slice(0,2);
        clean = decimalCheck[0] + '.' + decimalCheck[1];
    }

    if (val !== clean)
    {
      ngModelCtrl.$setViewValue(clean);
      ngModelCtrl.$render();
    }


    return scope.hesapla(clean);
  });

  element.bind('keypress', function(event) {
    if(event.keyCode === 32) { // space
      event.preventDefault();
    }
  });

  element.bind('keypress', function(event) {
    if(event.keyCode === 45) { // - key
      event.preventDefault();
    }
  });
}
 };
})

它完美地在浏览器上工作,但是按键事件无法在设备上运行。需要使用谷歌浏览器检查设备但不能开火。我也尝试过keyup或keydown但仍然没有工作。我怎么能这样做?

谢谢

1 个答案:

答案 0 :(得分:-1)

包含jQuery Mobile文件

您需要做的只是在项目中包含一个jQuery文件。任何版本的名为jQuery.mobile.js或非常相似的文件(例如jQuery.ui.js)都可以为您提供帮助。

您可以从以下网址下载:Download | jQuery Mobile