在下面的代码中,$('form').one('submit', ...
只执行一次,但$.post...
位被调用两次,我可以从网络日志中看到。
此外,回调函数不会被调用。我不知道为什么会发生这种情况或如何解决它,控制台中没有报告错误。
$('form').one('submit', function(e) {
$('form').off();
e.preventDefault();
if(!$('button').prop('disabled')) {
$('button').addClass('loading');
$('button i').css({opacity: '0'});
$('button span').css({opacity: '0'}).one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function() {
$('button i, button span').hide();
$('button').prop('disabled', true).css({backgroundColor: '#f5d76e', color: '#2d2d2d', borderColor: '#f5d76e'});
$('button svg').css({display: 'block', opacity: '1'});
$.post('submit.php', {name: $('#name').val(), email: $('#email').val(), message: $('#message').val()}, function(data) {
console.log('Hi');
$('button svg').css({opacity: '0'}).one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function() {
$(this).hide();
$('button i').removeClass('fa-paper-plane').addClass((data.success) ? 'fa-check' : 'fa-exclamation-triangle').css({display: 'block', opacity: '1', marginRight: '0'});
});
});
});
}
});