web-dev-qa-db-ja.com

セッションのタイムアウト時にすべてのアクティブなbootstrap=モーダルを閉じるには?

ユーザーがアイドル状態のときに呼び出しを行う必要があり、すべてのBootstrap=モーダルをクローズするセッションタイムアウトを渡します。すべてを網羅していることをしたいです。

私は試した:

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

タイムアウトが発生したが、私のモーダルがまだ残っているとき。

40
jeff werner

次のコードを使用します。

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

また、モーダルが非表示の場合に何かをしたい場合は、これを行うことができます:

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

正しい答えには重要なものが欠けています。

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

ユーザーに通常どおりページを使用させる場合、2行目は重要です。

13
Tom McDonough

これは、工場や追加のコードを使用せずに私のプロジェクトで動作させる方法です。

//hide any open bootstrap modals
  angular.element('.inmodal').hide();

ログアウト機能を$rootScope.$emit('logout');として出力するタイムアウト関数があり、サービスのリスナーは次のとおりです。

$rootScope.$on('logout', function () {                    
                    //hide any open bootstrap modals
                    angular.element('.inmodal').hide();

                    //do something else here  

                });

angular material dialog($mdDialog)&sweet alert dialog's use angular.element('.modal-dialog').hide();angular.element('.sweet-alert').hide();などの他のモーダルを非表示にする場合

これが正しいアプローチであるかどうかはわかりませんが、私にとってはうまくいきます。

0
Sri7