2015-02-05 17 views
6

Có sự kiện nào kích hoạt khi cửa sổ bật lên bị đóng.ngDialog - closeModal event - angularjs

Phương thức mở trên sự kiện nhấp chuột. Phương thức có nút đóng nhưng cũng bị đóng khi người dùng nhấp vào bất kỳ nơi nào bên ngoài div phương thức.

Muốn thực hiện một số hành động, bất cứ khi nào cửa sổ bật lên bị đóng. Tôi biết cách viết hàm bằng cách bấm vào nút đóng đó, nhưng nếu phương thức này bị đóng bởi một số hành động khác.

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

Trả lời

12

Hãy thử qua 'preCloseCallback': -

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

Hope this helps!

+0

Đây là mát mẻ. Cảm ơn. – Cody

+0

Cảm ơn @Cody. Tốt để biết nó đã giúp! – amitthk

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

Câu trả lời chính xác. Chỉ cần sử dụng backdrop : 'static' và phương thức của bạn sẽ chỉ đóng bằng cách nhấp vào nút đóng. Và vâng, đó là một câu hỏi hay. Nhiều nhà phát triển làm sai lầm ngớ ngẩn như vậy nhưng bạn không phải từ họ. Nếu nó không giúp đỡ thì hãy để tôi trả lời. Có nhiều cách để làm như vậy.

+1

Cảm ơn bạn. Tôi đã thử phông nền nhưng phương thức vẫn đóng khi được nhấp vào bất kỳ đâu bên ngoài nó. – Qwerty

+4

ngDialog.open ({template: 'popupTmpl.html', closeByDocument: false, preCloseCallback: function() {/ * Làm gì đó ở đây * /}}); Làm điều này và cho tôi biết nó hoạt động hay không. Skype của tôi: er.chourasiya – rahul

+0

Có nó đã làm việc .. – Qwerty

1

Chỉ cần đặt closeByDocument: false bên trong hộp thoại.open để hộp thoại sẽ không đóng khi người dùng nhấp vào bất kỳ nơi nào bên ngoài div phương thức.

Ví dụ Mã

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