在基本的SimpleModal实现中,我使用onClose
选项检查脏表单状态并阻止关闭:
..
function onModalClose() {
if (this.dirty &&
!confirm('You have unsaved changes, continue anyway?')) {
return;
}
this.dirty=false;
$.modal.close();
}
..
问题是如果用户取消关闭操作,对话框上的默认关闭控件将不再起作用。 $.modal.close()
仍有效。
我相信我可以通过不使用默认按钮,或者像我主动重新绑定我自己的关闭功能一样来解决这个问题,但这看起来很奇怪,我想知道是否有一些简单的解决方案我是俯视。
答案 0 :(得分:4)
这有点像黑客,但我使用以下代码取得了成功。 (注意:我定义了onClose函数,所以 this 指向模态对话框。)
onClose: function () {
if (this.dirty &&
!confirm('You have unsaved changes, continue anyway?')) {
this.bindEvents();
this.occb = false;
return;
}
$.modal.close();
}