[英]How to prevent Angular-UI bootstrap modal closing?
我有一个$modalInstance
。 我可以在promises的帮助下收到关闭事件通知:
$modalInstance.result.finally(function() {
// code here
});
但是我不知道如果用户错误地关闭了模型,如何防止关闭。 我想问用户是否真的要关闭模型,如果确实要关闭它。 仍然我不想启用backdrop: 'static'
:
$modal.open({
... // other options
backdrop : 'static'
});
谢谢。
我做了一些进一步的研究,然后发现了另一个与此问题类似的问题 ,这是在该问题上找到的答案(请随意为他+1,而不是我)
$scope.$on('modal.closing', function(event, reason, closed) {
var r = prompt("Are you sure you wanna close the modal? (Enter 'YES' to close)");
if (r !== 'YES') {
event.preventDefault();
}
});
将其放在模式控制器中。
这与您搜索的内容不完全相同,如果您尝试通过关闭(单击外部模态),取消或确定按钮来关闭模态,则会提示您。 您可以尝试对其进行修改以适合您的需求。
更新:添加了简单的if else
检查以查看单击了什么,如果单击了背景,则提示用户:
$scope.$on('modal.closing', function(event, reason, closed) {
if (reason == 'ok' || reason == 'cancel'){
console.log('closed');
} else {
// this is if 'reason' == 'backdrop click'
var r = prompt("Are you sure you wanna close the modal? (Enter 'YES' to close)");
if (r !== 'YES') {
event.preventDefault();
}
}
});
您是否认为此解决方案足够?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.