链接Twitter Bootstrap模式('隐藏')延迟

And*_*dyC 7 javascript jquery modal-dialog twitter-bootstrap

我正在显示一个简单的Bootstrap模式,底部有一个'checkout'按钮.

点击我想要的按钮:

  1. 关闭模态,例如$('#myModal').modal('hide')
  2. 等到动画结束
  3. 将window.location.href更改为我的"结帐"页面.

如果没有它立即运行下一个功能,我似乎无法找到一种链接方式,例如

$('#myModal').modal('hide').each(function() {
    window.location.href = '/checkout'; 
});
Run Code Online (Sandbox Code Playgroud)

或者我认为延迟()可能会有所帮助,例如

$('#myModal').modal('hide').delay(1000).each(function() {
    window.location.href = '/checkout'; 
});
Run Code Online (Sandbox Code Playgroud)

这不起作用,它只是立即更改页面.

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

Inf*_*pse 10

hidden当twitter bootstrap模式被完全隐藏时,会发生一个事件.所以你可以这样做:

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

  • 如果您在Bootstrap 3中寻找完全相同的行为,请使用"hidden.bs.modal"事件而不是"隐藏". (8认同)
  • 我想补充一下这个问题.你可以使用`one`而不是`bind`.因此,在您的下一个隐藏方法调用之后,您的函数将仅执行****.是的,您应该在结帐按钮点击时运行整个代码. (4认同)