Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html ngDialog-closeModal事件-angularjs_Html_Angularjs_Ng Dialog - Fatal编程技术网

Html ngDialog-closeModal事件-angularjs

Html ngDialog-closeModal事件-angularjs,html,angularjs,ng-dialog,Html,Angularjs,Ng Dialog,弹出窗口关闭时是否有触发的事件 模式在单击事件时打开。模态有一个关闭按钮,但当用户单击模态div之外的任何位置时,该按钮也会关闭 希望在关闭弹出窗口时执行一些操作。 我知道如何在单击关闭按钮时编写函数,但是如果模态被其他操作关闭,该怎么办 app.controller('MainCtrl', function ($scope, ngDialog) { $scope.clickToOpen = function () { ngDialog.open({ template: 'popupTmpl.h

弹出窗口关闭时是否有触发的事件

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

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

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

尝试传递“预关闭回调”:-

ngDialog.open({ template: 'popupTmpl.html', preCloseCallback:function(){ /* Do something here*/} });
希望这有帮助

 $modal.open({
    ... // other options
    backdrop : 'static'
 });

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

只需将closeByDocument:false放在对话框内部。打开该对话框,当用户单击modal div之外的任何位置时,对话框将不会关闭

示例代码

ngDialog.open({
  id: 'fromAService',
  template: 'firstDialogId',
  controller: 'InsideCtrl',
  data: { foo: 'from a service' },
  closeByDocument: false
});

非常感谢。我尝试了Background,但当单击它.ngDialog.open以外的任何位置时,该模式仍然关闭({template:'popupTmpl.html',closeByDocument:false,preCloseCallback:function(){/*在此处执行操作*/});这样做,让我知道它是否有效。我的skype:er.chourasiyaOk太棒了。这可能对你有用。谢谢@Cody。很高兴知道这有帮助!