Javascript 3秒钟后,鼠标悬停在启用按钮上,鼠标悬停时禁用并停止倒计时
我有一个按钮,做一些不可逆转的事情,我试图把它锁定,除非用户悬停在它上面3秒钟。如果等待3秒钟,按钮将启用。一旦鼠标离开,它就会再次禁用。如果在倒计时3秒期间鼠标也停止,则停止倒计时Javascript 3秒钟后,鼠标悬停在启用按钮上,鼠标悬停时禁用并停止倒计时,javascript,jquery,Javascript,Jquery,我有一个按钮,做一些不可逆转的事情,我试图把它锁定,除非用户悬停在它上面3秒钟。如果等待3秒钟,按钮将启用。一旦鼠标离开,它就会再次禁用。如果在倒计时3秒期间鼠标也停止,则停止倒计时 $('#delete_btn').on('mouseover', function () { setTimeout(function () { $('#delete_btn').prop('disabled', false) }, 3000)
$('#delete_btn').on('mouseover', function () {
setTimeout(function () {
$('#delete_btn').prop('disabled', false)
}, 3000)
})
$('#delete_btn').on('mouseout', function () {
$('#delete_btn').prop('disabled', true)
})
如果他们提前鼠标退出,我不知道如何停止倒计时这是W3School的复制粘贴,基本上您必须将超时“保存”到变量中,然后在悬停时清除超时:
var myVar;
function myFunction() {
myVar = setTimeout(function(){ alert("Hello"); }, 3000);
}
function myStopFunction() {
clearTimeout(myVar);
}
我希望这有帮助:)您需要清除超时。所以,它准备在下一次呼叫时开火:
var timeout;
$('#delete_btn').on('mouseover', function() {
timeout = setTimeout(function() {
$('#delete_btn').prop('disabled', false);
}, 3000);
});
$('#delete_btn').on('mouseout', function() {
clearTimeout(timeout);
$('#delete_btn').prop('disabled', true);
});
在CodePen的工作中查看: