我在我的應用程序和ui-bootstrap中使用了AngularJS(1.5.9)。 我想顯示一個確認彈出框,以防用戶在已打開的模式之外單擊。在點擊模態外顯示確認彈出 - 引導
我試圖使用$uibModalInstance.close()
的受控退出和$uibModalInstance.dismiss()
的非受控退出,但模式關閉後,一旦我顯示我的確認彈出已經太晚了。
試圖使用backdrop: 'static'
屬性,但無法捕捉模態窗口外的單擊事件。
HTML:
<div ng-app="myApp">
<script type="text/ng-template" id="myModal.html">
<div class="modal-header">
<h3 class="modal-title">Modal title</h3>
</div>
<div class="modal-body">
Modal content
</div>
<div class="modal-footer">
<button class="btn btn-primary" ng-click="ok()">OK</button>
<button class="btn btn-warning" ng-click="cancel()">Cancel</button>
</div>
</script>
<div ng-controller="MyCtrl">
<input type="button" value="Show modal" ng-click="showModal()"/>
</div>
</div>
JS:
angular.module("myApp", ['ui.bootstrap'])
.controller("MyCtrl", function($scope, $modal) {
$scope.showModal = function(){
$modal.open({
templateUrl: 'myModal.html',
controller: 'ModalDialogController',
})
.result.then(
function() {
alert("OK");
},
function() {
alert("Cancel");
}
);
}
})
.controller("ModalDialogController", function ($scope, $modalInstance) {
$scope.ok = function() {
$modalInstance.close();
};
$scope.cancel = function() {
$modalInstance.dismiss('Cancel');
};
});
這裏有一個相關的小提琴 - >Fiddle
正如你所看到的,一旦打開模態和點擊之外,還有一個提醒'取消',但我想彈出另一個模式來確認這個動作來關閉模式,並在用戶點擊'取消'前面的模式保持打開狀態。如果用戶點擊「確定」關閉兩個模式。
任何想法?
太棒了!謝謝!不知道我錯過了這個modal.closing功能。 –
歡迎:) –