如何阻止用户在 ajax 调用未完成时再次单击链接



我有一个链接,在点击时我已经在上面做了一些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 时才被执行......

最新更新