jQuery click()仅一次

时间:2018-07-18 13:23:46

标签: jquery

我要这样做,以便只能单击一次此按钮。如果有人单击它多次,则该功能将无法执行。我该怎么办?

$(".btn_ranking").click(function(e) {
  e.preventDefault();
  var name = localStorage.getItem('name');
  var time = localStorage.getItem('timer_end');

  $.ajax({
    url: "php/file.php",
    method: "POST",
    data: {
      name: name,
      time: time
    }
  })
});

2 个答案:

答案 0 :(得分:2)

使用one()附加事件处理程序:

$(".btn_ranking").one('click', function(e) {
  e.preventDefault();
  var name = localStorage.getItem('name');
  var time = localStorage.getItem('timer_end');

  $.ajax({
    url: "php/file.php",
    method: "POST",
    data: {
      name: name,
      time: time
    }
  });
});

答案 1 :(得分:0)

除了罗里的答案,您还可以执行以下操作之一:

我无法从您的代码中看出您的标记是什么,但是如果您的.btn_ranking元素是<button />标签,那么在您的点击功能中,您还可以添加disabled属性设置为按钮,这样可以防止再次单击该按钮。 https://www.w3schools.com/tags/att_button_disabled.asp

您可以做的另一件事是向pointer-events: none;的同一元素中添加内联样式。

所有这些解决方案的一个警告是,只需刷新浏览器就可以绕开它们。