Имея текстовый ввод, я хочу знать сразу, когда пользователь меняет текст, но также я хочу использовать функцию debounce. Таким образом, я могу, например, отключить кнопку отправки, когда пользователь меняет текст и активирует кнопку отправки после проверки текста в функции debounced.AngularJS - Как узнать сразу, когда вход был изменен, если он отключен?
Есть ли способ сделать это с помощью чистого AngularJS? Или я должен использовать javascript/jquery?
С помощью этого кода я только в состоянии знать, когда пользователь изменил текст после задержки дребезга 500ms:
<!doctype html>
<html ng-app="app">
<head>
<script src="http://localhost/js/angular.min.js"></script>
<script>
var app= angular.module('app',[]);
app.controller('ExampleController',['$scope',function($scope){
$scope.changed= '';
$scope.change= function(){
$scope.changed= 'Changed!';
};
}]);
</script>
</head>
<body ng-controller="ExampleController">
<div>Message: <input type="text" ng-model="model.message"
ng-model-options="{debounce:500}" ng-change="change()" />
<div>{{model.message}}</div>
<div>{{changed}}</div>
</body>
</html>
, что вы имеете в виду дребезга? –
@ramamoorthy_villi этот параметр создает задержку между взаимодействием пользователя и обновлением модели. – DrPollit0
debouncing for 500ms довольно экстремально, я думаю, обычно я ожидал бы около 250 мс, 500 кажется, что ничего не работает - может быть, возникает раздражение пользователя? –