Javascript解决方案会忽略点击第一次点击后的点击次数吗?

时间:2015-07-20 22:22:09

标签: javascript jquery python html django

我有一个按钮或锚元素,可以将用户重定向到另一个视图。单击该按钮后,将触发DB写入事件。但是,当用户多次单击按钮等待页面重新加载时,会创建多个记录,这会导致应用程序出现问题,从而保存随后的表单。

最好的方法是什么,也许在javascript或jQuery中忽略第一个之后的点击?

更新:

我实际上做了这个并且它有效 - 它没有禁用按钮但在点击事件上返回false。

<script>
  $("#linkresponse").click(function() {
    $(this).click(function() {
      return false;
    });
      return true;
  });
</script>

这似乎是一个很好的解决方案,我不应该遵循它吗?

3 个答案:

答案 0 :(得分:4)

每当事件只对元素发生一次时,请使用jQuery的 one() 方法:

$('#myButton').one('click', function(){
  ...
});

答案 1 :(得分:0)

创建一个全局变量(称之为hasClicked或其他)设置为&#39; false&#39;。在你的onclick方法中,在最顶端有这样的逻辑:

if (hasClicked)
    return;
else
    hasClicked = true;

答案 2 :(得分:0)

我实际上添加了这个脚本。它不会禁用该按钮,但每次后续点击都会返回false。它现在有效!谢谢你的建议。

<script>
  $("#buttonid").click(function() {
    $(this).click(function() {
      return false;
    });
      return true;
  });
</script>