Jim*_*mie 0 html javascript settimeout angularjs
我有一个page.html和controller.js文件.
我希望在输入文本框后显示标签,然后在2秒后弹出警报窗口,然后再次隐藏标签.
到目前为止我有这个:
page.html中
<div ng-app>
<h2>Calculate</h2>
<div ng-controller="controller">
<form>
<input type="text" ng-model="name" ng-change="myFunc()"
ng-model-options="{debounce: 200}">
<label ng-show="showMe">Checking</label>
</form>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
controller.js
angular.module('Ctrl', []).controller('controller', function($scope) {
var alertToCheck = function() {
alert("Some Message");
return true;
}
var checked = false;
$scope.showMe = false;
$scope.myFunc = function() {
if(checked == true){
$scope.cancel(alertToCheck());
checked = false;
}
$scope.showMe = !$scope.showMe;
setTimeout(alertToCheck(), 2000);
};
});
Run Code Online (Sandbox Code Playgroud)
问题是,当我输入文本框时,一旦完成输入,我会收到警报,然后弹出检查标签.我不知道我需要做什么才能得到
userfinshestyping - > show label - > pausefor 2秒 - > show Alertbox
你的行setTimeout(alertToCheck(), 2000);应该阅读setTimeout(alertToCheck, 2000);
在函数名后面放置()会导致立即调用它
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |