我有一个链接,在点击时我已经在上面做了一些javascript代码和ajax,但问题是当用户多次点击而没有完成上一个过程时,它将执行所有点击,我想停止点击,直到上一个进程完成,
您可以使用
.one()
并在异步任务完成后.then()
重新附加事件
function request() {
return $.ajax()
}
function handleClick(e) {
request.then(function() {
$(e.target).one("click", handleClick)
}, function(jqxhr, textStatus, errorThrown) {
console.error(errorThrown)
})
}
$("p").one("click", handleClick);
你已经尝试过什么?
我想到的第一件事是,创建一个全局 var,它定义了点击过程的状态。 默认情况下,它应该是假的。
启动点击时事件时,请将其设置为 True。 在点击时事件结束时,再次将其设置为 False。
然后只需将整个点击 thingie 放在 if 语句中,这样它才会在您定义的布尔值为 false 时才被执行......