我需要让我的提交按钮只点击一次,以防止双击。只允许点击一次,没有双击
这里有一个方法,有人贴:
$(document).ready(function() {
$("#submit").one('click', function (event)
{
event.preventDefault();
//do something
$(this).prop('disabled', true);
});
});
1)从我的理解,将。一只能触发一次。 如果是这样,我不确定event.preventDefault()和$(this).prop('disabled',true)的需求是什么,因为点击只完成一次。这将是本身的修复。从测试中,我注意到,如果我双击,它只发生一次(尝试没有防止默认和禁用)
2)如果.one没有做我所假设的1),我明白$(这个) .prop('disabled',true);禁用按钮,但不太明白 为什么我们需要event.preventDefault();根据我的理解,这将防止默认操作,在这种情况下是提交。如果这是真的,event.preventDefault();因为我们确实想提交它,但只有一次。
3)本身不会阻止双击。我对此是否正确?所以不需要其他的逻辑,正确?
@ 11684我认为他的问题更多的是为什么我们有这些时使用'.one' .. –
问题,比如说,如果你点击一个按钮,.one将只做一次,我知道了。如果在点击之后,表单被提交并且您在同一页面上,会发生什么情况。这个.one再次按预期工作。不是,就我而言,点击后我会转到另一个页面,但如果您保持在同一页面上而只想提交内容,会发生什么? –
@NatePet提交表单时,页面将刷新..除非你做ajax调用..所以如果表单被提交(这将刷新页面),'.one'将按预期工作。 –