gpt4 book ai didi

JQueryclearTimeOut 不停止 setTimeOut 不工作

转载 作者:行者123 更新时间:2023-12-01 07:48:22 26 4
gpt4 key购买 nike

我有一段简单的代码,单击按钮即可执行,但我需要检测双击(只需要一次单击 - 但我需要在两次或多次单击时发出警报)。我有一个 setTimeOut 函数,可以暂停一秒钟然后继续 - 但我拥有的代码应该清除此函数不起作用,它正在执行 alert()但不停止 setTimeOut 函数!

$('.badge').on('click','#badge', function() {
Click = Click + 1
ButtonClick()
if ($.isNumeric($(this).text())) {
$(this).css("background-color","#006400");
BadgeNo = $(this).text()
if (Click == 1) {
var timeOut = setTimeout(function(){
$(this).css('background-color','#568bc1')
$('.badge').hide()
$('.hs').show()
$('#numberplate').text('')
}, 1000);
} else if (Click > 1) {
clearTimeout(timeOut);
alert("Please only select ONE badge number");
CheckBadge();
}
}
});

我在这里犯了任何形式的小学生错误吗?我只是不明白为什么它不停止超时。

最佳答案

取消设置时,您的 var timeOut 超出范围:

var timeOut = false;
$('.badge').on('click','#badge', function() {
Click = Click + 1
ButtonClick()
if ($.isNumeric($(this).text())) {
$(this).css("background-color","#006400");
BadgeNo = $(this).text()
if (Click == 1) {
timeOut = setTimeout(function(){
$(this).css('background-color','#568bc1')
$('.badge').hide()
$('.hs').show()
$('#numberplate').text('')
}, 1000);
} else if (Click > 1) {
if ( timeOut )
clearTimeout(timeOut);
alert("Please only select ONE badge number");
CheckBadge();
}
}
});

仅在变量timeOut的范围以及它是否已初始化方面略有变化。

关于JQueryclearTimeOut 不停止 setTimeOut 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33169325/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com