angularjs - Angular 1.4:单击后禁用按钮
问题描述
我有一种情况,我想在单击时禁用按钮几秒钟。这是按钮的代码:
<button uib-popover="Create TO" popover-trigger="mouseenter" data-ng-click="createTransportOrder(item.confirmed_price_id)" data-ng-disabled="item.transport_order_id || !item.confirmed_price_id" class="btn btn-info btn-xs">
<i class="fa fa-truck"></i>
</button>
这是createTransportOrder
方法:
$scope.createTransportOrder = function (priceResponseId) {
var priceResponseIds = [priceResponseId];
PriceRequestsModel.createTransportOrdersByIds(priceResponseIds).then(
function (response) {
$scope.messages = response.messages;
updateSelectedPriceRequests();
getPriceRequests();
},
function (response) {
$scope.messages = response.messages;
}
)
};
我尝试了几件事,但徒劳无功。我怎样才能做到这一点?
解决方案
您可以setTimeout
在末尾添加createTransportOrder
this.button.nativeElement.disabled = true;
setTimeout(function(){
this.button.nativeElement.disabled = false;
},5000);
添加#mybutton
到您的按钮<button (click)="yourclick()" #mybutton>Your button</button>
将变量添加@ViewChild('mybutton') button;
到您的组件
Stackbliz 演示代码:https ://stackblitz.com/edit/angular-disable-5second
使用角度 1.4,您可以更改为
将 id 设置为您的按钮<button id="mybutton">
将这些代码添加到click
函数下方。
document.getElementById('mybutton').disabled = true;
setTimeout(function(){
document.getElementById('mybutton').disabled = false;
},5000);
推荐阅读
- kubernetes - 使用 Helm chart 而非 Docker 镜像部署到 Kubernetes 集群有哪些优势?
- php - 根据产品变体中的自定义字段设置最大数量
- cs-cart - tpl文件错误或php版本错误
- bash - 使用 SCons 构建时找不到编译器
- linux - ExecutionException 分叉的虚拟机在没有正确告别的情况下终止。VM 崩溃或 System.exit 调用?
- android-studio - 自定义懒惰
>乐趣导致跳帧和崩溃 - reactjs - 在 React 中以正确的标题打开 PDF
- c++ - 无法使用 Dev-C++ 编译简单的 SDL 程序
- c - linux内核中的文件替换
- html - 在文本周围定位导航栏