按键事件在离子框架中不起作用
keypress event not working in ionic framework
事实很奇怪。我正在尝试限制需要描述的文本区域。在浏览器中使用 "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,如果它有效,但在文本区域中仍在写入并且在用户按下 space 之前不会限制限制。
将 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;
}
事实很奇怪。我正在尝试限制需要描述的文本区域。在浏览器中使用 "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,如果它有效,但在文本区域中仍在写入并且在用户按下 space 之前不会限制限制。
将 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;
}