javascript - SimpleModal 关闭对话框前确认

标签 javascript jquery simplemodal

我正在使用 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/

相关文章:

javascript - 使用 Browserify 时是否可以对浏览器中不同的 JS 文件进行故障排除?

javascript - Playframework 2.x (Scala) : Passing a Twirl/HTML code from a controller's function to the view

javascript - 在元素 jquery 或 javascript 中的一堆类上扫描指定的类

javascript - 如果这些字符串包含 div 中的页面,我需要显示模式

javascript - 我们如何访问在父 jsp 文件的模式窗口(使用 div)中加载的子 jsp 文件的表单元素?

javascript - 延迟加载模态窗口,模态中的图像不显示

javascript - 事件返回 True/False 的 jQuery 插件

javascript - 基于简单输入的 Onblur JS 事件

javascript - 在html中使用 "&times"字改成×

javascript - Jquery中使用数组识别div