这是我的'custForgotPass'输入按钮。 当我点击按钮时,我会验证电子邮件并发送它。 在双击时,它会发送两封电子邮件 我想阻止双击。 没有什么对我有用,例如。禁用按钮,jQuery.on事件,禁用dbclick事件。
$('#custForgotPass').click(function(event) {
event.preventDefault();
$("#txtForgotEmail").focus(function() {
$(this).parent().find('div').css('display', 'none')
});
var forgotEmail = $('input#txtForgotEmail').val();
var isOk = true;
if (forgotEmail.trim() == '') {
$('input#txtForgotEmail').parent().find('div').find('div').text('required');
$('input#txtForgotEmail').parent().find('div').css('display', 'block')
isOk = false;
} else {
var pattern = "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$";
if (forgotEmail.match(pattern)) {
$('input#txtForgotEmail').parent().find('div').find('div').text('invalid');
$('input#txtForgotEmail').parent().find('div').css('display', 'block')
isOk = false;
}
}
if (!isOk) {
return;
}
//$(this).attr('disabled', 'disabled');
var success = '';
var posting = $.post('process/forgot_password.aspx', {
forgotEmail: encodeURIComponent(forgotEmail)
});
posting.done(function(data) {
var content = $(data);
if (data == 'Error') {
$('#forgot-msg-success').empty().append('Sorry there is technical problem try later.');
$('#forgot-msg-success').css('display', 'block').fadeIn(600).fadeOut(600).fadeIn(600);
} else if (data == 'Invalid') {
$('#forgot-msg-success').empty().append('Invalid email pls try again.');
$('#forgot-msg-success').css('display', 'block').fadeIn(600).fadeOut(600).fadeIn(600);
} else {
$('input#txtForgotEmail').val("");
$('#forgot-msg-success').empty().append('Password sent on your email address.');
$('#forgot-msg-success').css('display', 'block').fadeIn(600).fadeOut(600).fadeIn(600);
}
});
});
});
答案 0 :(得分:1)
在内部回调后删除ID
作为click事件的处理程序,并在整个处理完成后添加它。
$("#submit").on('click', function (event) {
$(this).removeAttr('id');
//do something
$(this).attr('id', 'submit');
});
答案 1 :(得分:0)
答案 2 :(得分:0)
$(document).ready(function () {
$("#submit").one('click', function (event) {
event.preventDefault();
//do something
$(this).prop('disabled', true);
});
})
答案 3 :(得分:0)
您可以使用.unbind()
例如:
$(".classname").unbind().click(function(event,ui){ ...