2016-10-27 78 views
2

Plunkr:Click here離子彈出窗口阻止ng-click離子模式

我有一個plunker如下。有兩種方法可以顯示ionic modal
1)單擊按鈕直接顯示離子模式。
2)單擊按鈕以顯示離子彈出,然後單擊另一個按鈕以顯示離子模態。請注意,在情況(1)中,我可以通過點擊左上角的按鈕來關閉離子模式,但不能在情況(2)的情況下關閉離子模式。

注:
1)當離子態是(2)
2)backDropClickToClose必須設置爲false開放離子彈出應該保持。

爲了使上述離子彈出的離子態,我有以下使用CSS:

.modal-backdrop { 
    z-index: 13 !important; 
} 

我的犯罪嫌疑人是一些CSS阻止模態,從被點擊(2)開放。也許某種z-index。希望有人能在這方面提供幫助。

回答

1

包含在index.html文件jQuery插件

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 

在controller.js添加一行來去除彈出式的公開課。

$scope.showPopup = function() { 
    var myPopup = $ionicPopup.show({ 
    template: '', 
    title: 'Popup', 
    scope: $scope, 
    buttons: [ 
     { text: 'Cancel' }, 
     { 
     text: '<b>Show Modal Dialog</b>', 
     type: 'button-positive', 
     onTap: function(e) { 
      $('body').removeClass('popup-open'); 
      $scope.openModal(); 
      e.preventDefault(); 
     } 
     } 
    ] 
    }); 
}; 

用下面的代碼替換controller.js中的closeModal函數。

$scope.closeModal = function() { 
    $('body').removeClass('modal-open'); 
    $scope.modal.hide(); 
    }; 
+0

通過消除e.preventDefault()離子彈出將被關閉,我想茅盾在我的文章中提到這樣的事情發生,我也不想找關閉模式對話框 – vincentsty

+0

包括重新初始化時的離子彈出 in index.html文件 IN控制器,對於彈出式菜單,添加一行以刪除popup-open (e){0} {('body')。removeClass('popup-open'); $ scope.openModal(); e.preventDefault(); } 在closemodal功能中,添加使用本 $ scope.closeModal =函數(){ $( '主體')removeClass( '模態開'); $ scope.modal.hide(); }; –

+0

更新了代碼:) –