7

弹出窗口关闭时是否会触发任何事件。

模式在单击事件时打开。模态有一个关闭按钮,但当用户单击模态 div 之外的任何位置时也会关闭。

每当弹出窗口关闭时,想要执行一些操作。我知道如何在单击该关闭按钮时编写函数,但是如果模态被其他操作关闭怎么办。

app.controller('MainCtrl', function ($scope, ngDialog) {
$scope.clickToOpen = function () {
ngDialog.open({ template: 'popupTmpl.html' });
};
});
4

3 回答 3

13

尝试传递“preCloseCallback”:-

ngDialog.open({ template: 'popupTmpl.html', preCloseCallback:function(){ /* Do something here*/} });

希望这可以帮助!

于 2015-02-05T09:33:33.793 回答
2

只需将 closeByDocument : false 放在 dialog.open 中,这样当用户单击模态 div 之外的任何位置时,对话框就不会关闭。

示例代码

ngDialog.open({
  id: 'fromAService',
  template: 'firstDialogId',
  controller: 'InsideCtrl',
  data: { foo: 'from a service' },
  closeByDocument: false
});
于 2015-11-18T11:13:15.103 回答
1
 $modal.open({
    ... // other options
    backdrop : 'static'
 });

准确的答案。只需使用backdrop : 'static',您的模态将仅通过单击关闭按钮关闭。是的,这是一个很好的问题。许多开发人员犯了这种愚蠢的错误,但你不是他们的。如果它没有帮助,那么让我回复。有很多方法可以做到这一点。

于 2015-02-05T10:18:27.673 回答