我正在使用 SimpleModal ( http://www.ericmmartin.com/projects/simplemodal/ ),并且我有一个显示在对话框中的表单。我想要做的是每次用户尝试关闭对话框(通过转义或单击关闭图标)时都能得到确认,并询问他们是否真的想关闭它而不保存表单数据.我尝试了以下方法:
onClose: function (dialog) {
if (confirm('Are you sure you want to close without saving?')) {
$.modal.close();
}
}
但它只会触发一次。如果您点击取消,则稍后无法再次关闭,这是有道理的。有人有建议或解决方案吗?任何帮助将不胜感激。 :)
最佳答案
我为您查看了 SimpleModal
的源代码,您无法用他们的代码完成您想做的事情。这就是为什么:
就在调用您的自定义回调 onClose
之前,它会调用:
s.unbindEvents();
这实际上是在说“不管你喜欢与否,这个盒子都会关闭”。它不像您可以取消的普通回调。
我建议改用 jQuery UI Dialog ,您应该会发现使用他们的 beforeclose
非常容易实现该功能打回来。您只需使用:
beforeclose: function(){
return confirm('Are you sure you want to close without saving?')
}
关于javascript - SimpleModal 关闭对话框前确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2038775/