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

时间:2018-01-17 04:45:34

标签: javascript jquery ajax onclick

我有一个链接,在点击我已经完成了一些javascript代码和ajax,但问题是当用户点击多次没有完成前一个过程,它将执行所有点击,我想停止点击,直到上一个过程完成,

2 个答案:

答案 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时执行...