我在 Javascript 中有一个函数,通过单击按钮来调用该函数,大约需要一分钟才能完成。如何一键禁用该按钮,并在功能完成后再次启用? 我需要这个过程来防止垃圾邮件。
我尝试了以下代码,但它不起作用。仍然可以多次单击该按钮。
Javascript:
function myFunc()
{
document.getElementById("Btn").disabled = true;
\\do something for one minute
document.getElementById("Btn").disabled = false;
}
html:
<button type="button" id="Btn" onclick="myFunc()">Generate!</button>
最佳答案
您的代码运行良好。也许您的函数运行得很快,这就是为什么它看起来像垃圾邮件。
如果您通过 ajax 调用函数,请确保 async
为 false
(默认为 true
)
function myFunc() {
document.getElementById("Btn").disabled = true;
setTimeout(function() {
console.log('hey');
document.getElementById("Btn").disabled = false;
}, 1000);
}
<button type="button" id="Btn" onclick="myFunc()">Generate!</button>
关于javascript - 运行函数时禁用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55725254/