【问题标题】:keypress event not working in ionic framework按键事件在离子框架中不起作用
【发布时间】:2015-06-24 17:30:39
【问题描述】:

发生的事情很奇怪。我正在尝试限制需要描述的文本区域。在浏览器中使用“keypress”事件,一切正常,但应用程序无法正常工作。没有收据错误或类似的东西,只是不工作。

var limite = 140;
$scope.resta = 0;
$('#counter').html("Quedan  "+limite+" caracteres");
  $("#text_view").keyup(function(e, $event){
      var box = $(this).val();
      var value = (box.length *100) / limite;
      $scope.resta = limite - box.length;
      if(box.length <= limite || $scope.resta > 0){
          $('#counter').html("Quedan  "+$scope.resta+" caracteres");
      }
      else{
          $('#counter').html("Quedan  "+$scope.resta+" caracteres");
          e.preventDefault();
          return;
      }               
  });

也可以尝试 keyup,如果它有效,但在 textarea 中仍在写入并且在用户按下空格之前不会限制限制。

【问题讨论】:

标签: javascript jquery ionic-framework keypress keyup


【解决方案1】:

将 Angularjs 和 Jquery 代码混合在一起并不被认为是好的做法。如果您没有任何选项,请将 jquery 代码移至指令。 Angularjs 真的很强大,所以你可以用更少的代码在没有 jquery 帮助的情况下完成令人惊奇的事情。您甚至可以在没有如下 jquery 代码的情况下实现您的要求。

HTML

<textarea ng-maxlength="{{limite}}" ng-change="trackChracterCount(box)" ng-model="box"></textarea>"Quedan  {{resta}} caracteres"

Javascript

$scope.limite = 140;
$scope.resta = $scope.limite;

var trackChracterCount = function(box){
    var limite = $scope.limite;
    var resta = $scope.resta;

    $scope.resta = limite - box.length;
}

【讨论】:

  • 您好,非常感谢您的帮助。我已经完全清楚了,以前有一些东西,但在 Android、iOS 上运行得很好,Android 失败了,所以我不得不使用暴力来处理 jquery 代码。无论如何,探索您的解决方案,它对我很有用!非常感谢您的帮助!
猜你喜欢
  • 2019-03-13
  • 2016-01-02
  • 1970-01-01
  • 2016-05-26
  • 1970-01-01
  • 2013-09-30
  • 1970-01-01
  • 1970-01-01
  • 2019-02-01
相关资源
最近更新 更多