【问题标题】:jQuery click() only oncejQuery click() 只有一次
【发布时间】:2018-07-18 13:23:46
【问题描述】:

我想让这个按钮只能被点击一次。如果有人单击它更多次,则该功能将不会执行。我该怎么做?

$(".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
    }
  })
});

【问题讨论】:

    标签: jquery


    【解决方案1】:

    使用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
        }
      });
    });
    

    【讨论】:

      【解决方案2】:

      除了 Rory 的回答,您还可以执行以下操作之一:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-09
        • 2014-05-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多