防止双击某些元素

时间:2018-10-17 14:13:29

标签: javascript jquery

我有一个可点击的<td>,它可以执行一些操作。但是,当我快速双击时,会发生奇怪的事情。因此,我想阻止它,并确保它只是一个可单击的事件。

$.each(response, function(index) {
    $('#myID').append('<tr><td onclick="select(this)" >'+ response[index] +'</td></tr>');
});

function select(element){
...
}

我试图使用jQuery的.one()函数,但是上面的代码是另一个事件的产物。因此,我不能在这里使用$(document).ready();。据我所知,我必须使它像onclick="select(this)" ...这样就可以了。但是在这里,我需要禁用双击。

有帮助吗?

2 个答案:

答案 0 :(得分:2)

因此添加一个检查以确认Ajax请求处于活动状态。...

function select(element){
  var elem = $(element);
  if(elem.hasClass("active")) {  // is ajax call active?
    return false;
  }
  elem.addClass("active");  // set it that it is active
  $.ajax({
    url: "foo"
  })
    .done(function(){})
    .always(function(){
      elem.removeClass("active");  // call is done, so remove active state
    })
}

答案 1 :(得分:0)

您可以简单地禁用按钮,直到ajax完成操作为止

<article id="button">