我正在尝试使用promises按钮点击后制作动画。但无论我做什么,它仍然会让我继续点击。
我正在显示一些Bootstrap表单验证器类,然后将其删除。像这样:
messageEffect : function(container) {
return container.fadeIn(100).delay(1000).fadeOut();
},
$.when(this.messageEffect($container)).done(function() {
$container.empty();
$icon.remove();
$group.removeClass('has-feedback has-' + alertType);
});
我在某些东西之后调用了这个名为“showAlert()”的函数,如果出现问题,我会在输入字段下面显示错误信息。
事情是,如果我一直点击并点击,它会垃圾邮件跨越,直到它们(当然)因动画而消失。
我尝试使用('div-that-is-animating').is(':animated')
但没有用,我仍然可以发送垃圾邮件。
在尝试调用此“showAlert()”函数之前,我还尝试进行切换和单击的解除绑定,但也无法正常工作。
是不是因为延迟(1000)不像动画一样?或者我还能尝试什么?
提前致谢。
答案 0 :(得分:1)
看看这是否有效(假设您的按钮ID为myButton
):
messageEffect : function(container) {
$('#myButton').attr('disabled', true);
return container.fadeIn(100).delay(1000).fadeOut();
},
$.when(this.messageEffect($container)).done(function() {
$('#myButton').attr('disabled', false);
$container.empty();
$icon.remove();
$group.removeClass('has-feedback has-' + alertType);
});