在提交时,做动画并等待完成,然后提交

时间:2018-01-20 04:32:01

标签: javascript jquery onsubmit

$('form').submit(function(e) {

    e.preventDefault();

    $('.thing').fadeOut('slow', function() {

        $('form').submit();

    });

});

你看到这里的困境吗?我在提交表单时尝试淡出div,然后等待动画完成,然后实际提交表单。

但是一旦我阻止默认行为,为div设置动画,然后尝试提交表单,脚本循环回来,点击preventDefault()并避免再次提交。

我会使用onClick作为初始事件,但我想按下回车键也能正常工作。这可能吗?谢谢!

2 个答案:

答案 0 :(得分:1)

您可以在触发后删除提交绑定。

$('form').submit(function(e) {
    e.preventDefault();
    $('form').off();
    $('.thing').fadeOut('slow', function() {
        $('form').submit();
    });
});

答案 1 :(得分:1)

您可以使用:

$('form').bind('submit' , function(e) {
 e.preventDefault();
  $('.thing').fadeOut('slow', function() {
   $('form').unbind();
  });
});

绑定然后取消绑定