javascript - Angular,禁用按钮,然后使用 JavaScript 中的 setTimeout 激活它?

标签 javascript angularjs

我想禁用我的按钮,但几秒钟后激活它。代码确实运行,但即使在我的代码执行后,按钮仍然处于禁用状态。

app.controller('spamController', ['$scope', function($scope) {


$scope.stopSpam = false;
  
function activateBtn(){
  $scope.stopSpam = false;
};


$scope.test = function(){
  
  $scope.stopSpam = true;
  activateBtn();

};

}]);
<button ng-disabled="stopSpam" class="btn btn-default" ng-click="test()">Test</button>

最佳答案

使用$timeout并在几秒钟后调用activateBtn:

app.controller('spamController', ['$scope', '$timeout', function($scope, $timeout) {
    $scope.stopSpam = false;

    function activateBtn(){
        $scope.stopSpam = false;
    };


    $scope.test = function(){
        $scope.stopSpam = true;
        $timeout(activateBtn, 3000);
    };
}]);

关于javascript - Angular,禁用按钮,然后使用 JavaScript 中的 setTimeout 激活它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32568394/

相关文章:

arrays - 遍历 Angular Controller 中的嵌套 json 数组并获取唯一值

javascript - 如何使用 jQuery 选择集合中的每个第四个 div

javascript - 根据 AngularJS 中数组的大小更改文本

javascript - Angular .js :38Uncaught Error: [$injector:modulerr]

javascript - 在 php 或 javascript 中向 url 添加参数后,如何修复刷新页面?

javascript - window.location.reload(true) 之后,IE11 中不会发生 URL 重定向

javascript - 将 JSON 数据从 Controller 传递到另一个 Controller ,而无需在路由时使用 Angular JS 中的服务或工厂

javascript - three.js - 如何限制缩放以使对象不会因相机而损坏

javascript - 循环浏览一组带有动画的图像

javascript - 如何在键入时使用 jQuery 在文本中重新创建 Facebook "inline popup"?