Javascript 防止双击某些元素

Javascript 防止双击某些元素,javascript,jquery,Javascript,Jquery,我有一个可点击的,可以执行一些操作。然而,当我快速双击时,奇怪的事情发生了。因此,我想阻止它,并确保它只是一个可点击的事件 $.each(response, function(index) { $('#myID').append('<tr><td onclick="select(this)" >'+ response[index] +'</td></tr>'); }); function select(element){ ... } $

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

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

function select(element){
...
}
$。每个(响应、函数(索引){
$('#myID').append(''+response[index]+'');
});
功能选择(元素){
...
}
我尝试使用jQuery的
.one()
函数,但上面的代码是另一个事件的产物。因此,我不能使用
$(document).ready()这里。据我所知,我必须让它像
onclick=“select(this)”
。。。它是有效的。但这里我需要禁用双击


有什么帮助吗?

所以添加一个检查,检查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
    })
}

因此,添加一个检查,确保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
    })
}

您只需禁用按钮,直到ajax完成其操作

function select(element){
    $(element).prop('disabled', true);
    $.ajax({
        url'url',
        success:function(response){
            $(element).prop('disabled', false);
        }
    });
}

您只需禁用按钮,直到ajax完成其操作

function select(element){
    $(element).prop('disabled', true);
    $.ajax({
        url'url',
        success:function(response){
            $(element).prop('disabled', false);
        }
    });
}

选择功能不能只处理案例吗?处理案例必须在选择功能中。但是如何呢?你可以认为这是实现它的秘诀。可以在创建“td”元素时添加类。然后可以编写如下代码:$(“.newClassAdded”).on(“dblclick”,函数(e){e.preventDefault();})@VinayGayakwad不起作用,
单击事件仍将触发两次。这需要使用由dblclick处理程序设置的标志来完成,然后在click处理程序中进行计算@harunB10那么select在做什么?单击两次会导致问题的原因。我需要这些基本信息,以便我知道为什么点击两次会有问题。选择功能不能只处理案例吗?处理案例必须在选择功能中。但是如何呢?你可以认为这是实现它的秘诀。可以在创建“td”元素时添加类。然后可以编写如下代码:$(“.newClassAdded”).on(“dblclick”,函数(e){e.preventDefault();})@VinayGayakwad不起作用,
单击事件仍将触发两次。这需要使用由dblclick处理程序设置的标志来完成,然后在click处理程序中进行计算@harunB10那么select在做什么?单击两次会导致问题的原因。我需要这些基本信息,这样我就知道为什么点击两次会有问题。