我有一个链接,在点击我已经完成了一些javascript代码和ajax,但问题是当用户点击多次没有完成前一个过程,它将执行所有点击,我想停止点击,直到上一个过程完成,
答案 0 :(得分:3)
您可以使用.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);
答案 1 :(得分:0)
首先,我想到的是,创建一个全局变量,它定义了点击过程的状态。默认情况下,它应该是假的。
启动点击事件时,将其设置为true。在点击事件结束时,再次将其设置为false。
然后只是在if语句中放置click clickie,所以它只在你定义的bool为false时执行...