我想在5秒后禁用启动按钮,但我无法让它工作。 与.delay相同,它立即进入禁用模式。 我该如何解决?
setTimeout(function() {
$('.start').click(function(){
$('.start').attr("disabled", true);
});
}, 5000);
答案 0 :(得分:3)
你已经完成了你的代码。
$('.start').click(function(){
var btn = $(this);
setTimeout(function() {
btn.prop("disabled", true);
}, 5000);
});
Live Example (我将5000改为500,所以你不必等待这么久)
另外,我相信disabled
使用prop
而不是attr
,情况会更好。
实际上使用了比我需要的更多jQuery,DOM元素就是我们所需要的:
$('.start').click(function(){
var btn = this;
setTimeout(function() {
btn.disabled = true;
}, 5000);
});
以上两种情况都假设您要在点击后五秒钟禁用该按钮。如果您只想在五秒钟后禁用它,请将代码移出点击处理程序:
setTimeout(function() {
$(".start").prop("disabled", true);
}, 5000);
答案 1 :(得分:1)
这样做:
setTimeout(function(){
$('.start').prop("disabled", true);
},5000)
处理布尔值时使用prop
。
答案 2 :(得分:0)
试一试:
setTimeout(function() {
$('.start').attr("disabled", true);
}, 5000);