如何在会话超时时关闭所有活动的引导程序模式?

时间:2013-07-31 18:24:25

标签: javascript jquery twitter-bootstrap modal-dialog

我需要在用户空闲时拨打电话并将会话超时时间关闭,这将关闭所有Bootstrap模式。活跃的模态取决于用户当时正在做什么,所以我想做一些包含所有内容的事情。

我试过了:

$('.modal').modal('toggle');

当超时发生但我的模态仍在那里时。

4 个答案:

答案 0 :(得分:89)

使用以下代码:

$('.modal').modal('hide');

此外,如果你想隐藏模态,那么你可以这样做:

$('.modal').on('hidden', function () {
  // write your code
});

答案 1 :(得分:13)

正确答案缺少重要的事情。

$('.modal').modal('hide') // closes all active pop ups.
$('.modal-backdrop').remove() // removes the grey overlay.

如果您希望用户正常使用该页面,则第二行至关重要。

答案 2 :(得分:0)

这就是我在不使用任何工厂或其他代码的情况下在我的项目中工作的方式。

$rootScope.$emit('logout');

我有一个超时函数,它以$rootScope.$on('logout', function () { //hide any open bootstrap modals angular.element('.inmodal').hide(); //do something else here }); 的形式发出注销,我服务中的监听器如下:

$mdDialog

如果要隐藏任何其他模态,例如角度材质对话框(angular.element('.modal-dialog').hide();)&甜蜜警报对话框使用angular.element('.sweet-alert').hide();& ~$ sudo sed -i.date +%F '/^\s*#/d;/^$/d' /etc/ansible/ansible.cfg > /path/to/destination

我不知道这是否正确,但它对我有用。

答案 3 :(得分:-1)

尝试这种方式: $('.modal.in:visible').modal('hide');