如何触发按钮单击setTimeout或$超时。现在,即使我把它放在按钮点击函数中,它也会自动执行,它不会等待点击事件触发它。
$scope.btnClick = function() {
setTimeout(function() {
$scope.close();
}, 1000)
}
如何触发按钮单击setTimeout或$超时。现在,即使我把它放在按钮点击函数中,它也会自动执行,它不会等待点击事件触发它。
$scope.btnClick = function() {
setTimeout(function() {
$scope.close();
}, 1000)
}
angular.module('app',[]).controller('mainCtrl',['$scope',function($scope){
$scope.btnClick = function() {
setTimeout(function() {
$scope.close();
}, 1000)
};
$scope.close = function(){
console.log("done");
};
}]);
<!DOCTYPE html>
<html ng-app="app">
<head>
<link rel="stylesheet" href="style.css">
<script src="https://code.angularjs.org/1.4.0/angular.js"></script>
<script src="script.js"></script>
</head>
<body ng-controller="mainCtrl">
<button ng-click="btnClick()">Do</button>
</body>
</html>
这里是超时工作的一个片段。 这里是plnkr http://plnkr.co/edit/7ZS5TTnCb50nbgBuXqj1?p=preview
使用$超时,而不是setTimeout和使用$范围。$适用()在 “$ scope.close()” 函数。
注意:如果您想查看UI中的更改,可以在函数中使用$ scope。$ apply()。使用console.log()不能证明它正确的话;)
从我的理解,你有一个按钮,如下所示:''我已经在按钮所在的控制器中获得了这个功能。这可能是不对的,你能否在问题中澄清一下? –
你想在jquery的'onclick'事件被触发后调用这个函数吗? –