Javascript 延迟链接Twitter引导模式(';隐藏';)

Javascript 延迟链接Twitter引导模式(';隐藏';),javascript,jquery,twitter-bootstrap,modal-dialog,Javascript,Jquery,Twitter Bootstrap,Modal Dialog,我正在显示一个简单的引导模式,底部有一个“checkout”按钮 单击按钮后,我想: 关闭模式,例如$('myModal')。模式('hide')) 等待动画完成 将window.location.href更改为我的“结帐” 页面 如果不立即运行下一个函数,我似乎找不到链接的方法 $('#myModal').modal('hide').each(function() { window.location.href = '/checkout'; }); 或者我认为delay()可能会有所

我正在显示一个简单的引导模式,底部有一个“checkout”按钮

单击按钮后,我想:

  • 关闭模式,例如$('myModal')。模式('hide'))
  • 等待动画完成
  • 将window.location.href更改为我的“结帐” 页面
  • 如果不立即运行下一个函数,我似乎找不到链接的方法

    $('#myModal').modal('hide').each(function() {
        window.location.href = '/checkout'; 
    });
    
    或者我认为delay()可能会有所帮助,例如

    $('#myModal').modal('hide').delay(1000).each(function() {
        window.location.href = '/checkout'; 
    });
    
    这也不起作用,它只是立即改变页面


    这是jQuery常见的问题吗?或者我必须扩展引导来处理这个问题吗?

    当twitter引导模式完全隐藏时,会出现一个名为
    隐藏的事件。所以你可以这样做:

    $('#myModal').bind('hidden', function(){
        window.location.href = '/checkout';
    }).modal('hide');
    

    我想加上这个作为回答。您可以使用
    one
    而不是
    bind
    。因此,您的函数只会在下面的hide方法调用之后执行一次。是的,您应该在点击结帐按钮时运行整个代码。谢谢,我如上所述进行了尝试,并且成功了。一开始我很犹豫,因为我认为范围可能适用于所有模式关闭,不仅仅是点击“签出”按钮,而且它工作得非常完美!如果您在Bootstrap3中寻找完全相同的行为,请使用“hidden.bs.modal”事件而不是“hidden”。