只允许点击一次,不要双击

Nat*_*Pet 2 jquery

我需要单击一次提交按钮以防止双击.

这是有人发布的一种方法:

    $(document).ready(function () { 
      $("#submit").one('click', function (event) 
      {   
         event.preventDefault(); 
         //do something 
         $(this).prop('disabled', true); 
      }); 
    }); 
Run Code Online (Sandbox Code Playgroud)

1)根据我的理解,.one只会触发ONCE.如果是这样,我不确定event.preventDefault()和$(this).prop('disabled',true)需要什么,因为点击只进行一次.这本身就是解决方法.从测试开始,我注意到如果我双击,它只发生一次(尝试没有防止默认和禁用)

2)如果.one没有做我在1)上所假设的,我理解$(this).prop('disabled',true)的部分; 禁用按钮但不太明白为什么我们需要event.preventDefault(); 根据我的理解,它将阻止默认操作,在这种情况下是提交.如果这是真的,event.preventDefault(); 因为我们确实想提交它,但只提交一次.

3).one本身不会阻止双击.我对此是否正确?所以不需要其余的逻辑,CORRECT?

Kri*_*ast 6

在我看来,他想阻止提交按钮的默认操作,也就是将表单发布到服务器.

禁用按钮本身使其在大多数浏览器中看起来都是灰色的,因此它只是直接指示按钮已被点击.提供动作的视觉反馈使其更适用于最终用户.

所以:点击按钮只能执行一次,因此只能执行,但他不希望提交表单.可能在//do something他想要打一个ajax电话左右.