End*_*der 10
由于这可能是您可能想重复的任务,我认为最好的方法是扩展jQuery,如下所示:
$.fn.timedDisable = function(time) {
if (time == null) { time = 5000; }
return $(this).each(function() {
$(this).attr('disabled', 'disabled');
var disabledElem = $(this);
setTimeout(function() {
disabledElem.removeAttr('disabled');
}, time);
});
};
Run Code Online (Sandbox Code Playgroud)
这将允许您在一组匹配元素上调用函数,这将临时禁用它们.在编写时,您只需调用该函数,所选元素将被禁用5秒.你会这样做:
$('#some-button').timedDisable();
Run Code Online (Sandbox Code Playgroud)
您可以通过更改5000
以下行来调整默认时间设置:
if (time == null) { time = 5000; }
Run Code Online (Sandbox Code Playgroud)
您可以选择传递时间值(以毫秒为单位)来控制元素的禁用时间.例如:
$('#some-button').timedDisable(1000);
Run Code Online (Sandbox Code Playgroud)
这是一个有效的演示:http://jsfiddle.net/fG2ES/
禁用该按钮,然后使用setTimeout运行一个在几秒钟后启用按钮的功能.
$('#some-button').attr("disabled", "disabled");
setTimeout('enableButton()', 5000);
function enableButton(){
$('#some-button').removeAttr('disabled');
}
Run Code Online (Sandbox Code Playgroud)