使用JQuery禁用Html按钮一段时间

时间:2013-03-25 07:29:17

标签: jquery button javascript

我有一个html按钮,我想用jquery禁用它,点击它之后10秒后我想启用它。

$('#test').click(function(){
     $("#test").attr("disabled", true);
     $('#test').html('Bitte warten..<img src="<?=CDN('/icons/loading/loading5.gif')?>" />');
});

我的计时器部分有问题。 我知道有类似setInterval(function() {}, 5000);之类的东西,但这会一遍又一遍。

4 个答案:

答案 0 :(得分:2)

您可以在间隔后使用setTimout启用按钮。

$('#test').click(function(){
     $("#test").attr("disabled", true);
     setTimout(function(){
         $("#test").attr("disabled", false); 
      }, 10000);  
     $('#test').html('Bitte warten..<img src="<?=CDN('/icons/loading/loading5.gif')?>" />');
});

答案 1 :(得分:0)

我希望这会有所帮助。

$('#some-button').attr("disabled", "disabled");
setTimeout('enableButton()', 5000);

function enableButton(){
   $('#some-button').removeAttr('disabled');
}

答案 2 :(得分:0)

您可以使用 setTimeout 功能:

$('#test').click(function(){
     $("#test").attr("disabled", true);
     $('#test').html('Bitte warten..<img src="<?=CDN('/icons/loading/loading5.gif')?>" />');

     setTimout(function(){
          timeOutHit()
      }, 10000);  

});

function timeOutHit()
{
   $("#test").attr("disabled", false);
}

答案 3 :(得分:0)

请参阅setTimeout是您希望在特定时间段内使用的选项。

$('#test').click(function(){
   $(this).prop("disabled", true);
   setTimout(function(){
       $(this).prop("disabled", false); 
   }, 10000);  
   $(this).html('Bitte warten..<img src="<?=CDN('/icons/loading/loading5.gif')?>" />');
});

但如果在这段时间内没有完成工作会怎么样呢。如果您使用的是ajax,则可以尝试使用ajaxComplete()函数。

$('#test').click(function(){
   $(this).prop("disabled", true);
   $(document).ajaxComplete(function(){
       $("#test").prop("disabled", false); 
   });  
   $(this).html('Bitte warten..<img src="<?=CDN('/icons/loading/loading5.gif')?>" />');
});