[英]AngularJS: trigger ng-change, ng-keyup or $scope.$watch while composing Korean characters
[英]Angularjs - ng-change and $scope.$watch fires only once
我已經在模型上嘗試了 ng-change 和 $watch。 但是,它只會觸發一次。 當輸入的第一個字符被輸入時。 或者當最后一個字符被刪除時。 例如,當我輸入第一個數字時,該函數被正確調用。 當我繼續在輸入中輸入其他數字時,不會調用該函數。 就像輸入是“1234”一樣,當輸入 1 時它會觸發。 但是當輸入 2 和 3 和 4 時,它不會被解雇。
刪除時也會發生同樣的事情。 當 4,3,2 被刪除時,事件不會被觸發。 當 1 被刪除時,它會被解雇。
我在問之前確實搜索了論壇。 但是,我找不到任何有意義的答案。 它對 $digest 生命周期有什么影響嗎?
使用 ng-keyup 事件,試試這個
<div ng-controller="test">
<input ng-model="a" ng-keyup="check()" />
</div>
angular.module("myApp", [])
.controller('test', ['$scope', function($scope){
$scope.check = function(){
alert('it changes');
}
}]);
如果您進一步詳細說明您的問題,這將有所幫助。
基本上這個場景工作正常。
<div ng-controller="test">
<input ng-model="a" ng-change="check()" />
</div>
JS代碼
angular.module("myApp", [])
.controller('test', ['$scope', function($scope){
$scope.check = function(){
alert('it changes');
}
}]);
<div ng-controller="test">
<input ng-model="a" ng-change="check()" />
</div>
今天我遇到了同樣的問題。 我不確定您的情況是否相同,但是,我的問題是我的輸入類型是電子郵件,這會在輸入的第一個字符時觸發更改事件,然后在您輸入 @ 后立即再次觸發該事件字符串。 什么會觸發更改事件:
希望有所幫助:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.