2016-11-09 77 views
0

我使用下面的代碼調用自舉模式後,與屏幕進行互動,無法隱藏的引導模式

$scope.modalInstance = $modal.open({ 
       templateUrl: '/src/lvassets/owl/download/points.modal.php', 
       size: 'm', 
       controller: DownloadInstanceCtrl, 
       windowClass: "hmodal-info", 
       scope: $scope, 
       backdrop: 'static', 
       keyboard: false, 
       resolve: { 
        params: function() { 
         var vars = { 
          'qty': $scope.qty, 
          'code': $scope.shortCode, 
          'offset': $scope.offset, 
          'status': $scope.status 
         }; 
         return vars; 
        } 
       } 
      }); 

正如你可以看到我已經把「背景」屬性「靜態」和'鍵盤'改爲'假',以防止用鼠標或鍵盤上的'esc'鍵關閉模式。這種模式顯示進度條以及關於下載過程的一些細節,並且取決於用戶輸入,可能需要幾分鐘才能關閉下載過程。所以我添加了一個按鈕,用戶可以選擇「在後臺下載」,這將關閉模式。我用下面的代碼,

$(".inmodal").hide(); 
$('body').removeClass('modal-open'); 
$('.modal-backdrop').hide(); 

一旦過程,我重新打開它通過這個代碼包含一些後續細節模態屏幕背景完成,

$(".inmodal").show(); 
$('body').addClass('modal-open'); 
$('.modal-backdrop').show(); 

上面的代碼隱藏模式並移除「有色」屏幕和用戶,以便用戶可以查看屏幕,通過它滾動並閱讀詳細信息但是用戶不能與屏幕交互,即他/她不能點擊鏈接或按鈕。

有沒有辦法解決這個問題? 在此先感謝。

+1

爲什麼你不使用關閉模式的標準方法('$''inmodal')。modal('hide')'? – isherwood

+0

@isherwood我忘記提及,但是因爲一旦下載過程完成,我想要重新打開相同的模式,用戶可以選擇他們想要下載的記錄類型,然後單擊「立即下載」按鈕下載它 –

+1

我回過頭來看,你正在使用Angular,你不應該在寫jQuery所有。http://stackoverflow.com/questions/14994391/thinking-in-angularjs-if-i-have-a-jquery-background – isherwood

回答

0

假設你應該是使用jQuery爲您的網站,當引導模式最初打開時,它適用於一類.modal-open<body>標籤,該標籤與禁止什麼,但通道交互(見docs)。你只是使用jQuery的standarad hide功能隱藏模式。您需要使用$('.inmodal').modal('hide');,以便模式顯示的模態和所有其他功能回到原始狀態。

+0

它確實隱藏了模式,但我仍然無法點擊任何鏈接或當模式被隱藏時按鈕 –