2013-07-31 58 views

回答

77

使用下面的代碼:

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

此外,如果你想要做的東西,如果進行模態隱藏,那麼你可以這樣做:

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

..因爲使用'toggle'會顯示你隱藏的模態並隱藏你顯示的模態。 – Robadob

+0

但是正如他所提到的,如果某些模態是開放的而另一些模態是接近的,那麼它可能會導致一些問題。所以最好使用更安全的代碼。 –

+0

我正在說明你的答案的原因,因爲我同意並且你沒有包括原因。 – Robadob

-1

試試這個方法: $('.modal.in:visible').modal('hide');

5

正確的答案是缺少一些重要的東西。

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

如果您希望用戶正常使用頁面,第二行是至關重要的。

0

這就是我如何在不使用任何工廠或附加代碼的情況下在我的項目中工作的方式。

//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 

       }); 

如果你想隱藏任何其他情態動詞,如角材料對話框($mdDialog) &甜蜜的警告對話框的使用angular.element('.modal-dialog').hide(); & angular.element('.sweet-alert').hide();

我不知道這是正確的做法,但它爲我工作。