javascript - 防止双击某些元素

标签 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)" ...而且它有效。但这里我需要禁用双击。

有什么帮助吗?

最佳答案

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

关于javascript - 防止双击某些元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52857010/

相关文章:

jquery - 我想为 Highcharts 绘图线标签应用自定义样式

javascript - setInterval 函数不起作用

javascript - 如果图像源(img src)具有特定的类或 ID,则将查询字符串添加到图像源(img src)

javascript - 如何仅将最大宽度设置为不在标签中的文本节点?

jquery - 我如何使用 jquery 显示和隐藏这个加载栏

javascript - 字符串到 DOM 到字符串

javascript - Rails js 在清除之前的模板后渲染部分内容

javascript - 如何使用 RequireJS 同步加载脚本

javascript - 如何在 javascript 中 5 秒后转到链接

javascript - "Cannot read property ' selectedZones ' of undefined"已初始化且非空变量