jQuery UI对话框 - 暂停关闭事件

时间:2011-07-18 15:04:24

标签: javascript jquery jquery-ui

有没有办法停止jQuery UI对话的关闭事件?

我有一个带表单的对话模式。当用户关闭对话框时,我想提示“继续而不保存更改?” [是] [否]。 [是]按钮继续并按预期关闭对话框。 [否]按钮将停止关闭事件并保持对话框打开。

这可能吗?

2 个答案:

答案 0 :(得分:38)

是的,您可以使用beforeClose选项。来自docs

  

当对话框尝试关闭时会触发此事件。如果beforeClose事件处理程序(回调函数)返回false,则将阻止关闭。

     

代码示例

     

提供一个回调函数来处理beforeClose事件作为init选项。

$( ".selector" ).dialog({
   beforeClose: function(event, ui) { ... }
});

答案 1 :(得分:4)

贾斯汀的回答很好地展示了模态。如果要取消关闭,则函数应返回false,如下所示:

$( ".selector" ).dialog({
   beforeClose: function(event, ui) 
    { return check_if_unsaved_changes(..); }
});

如果对话框应该关闭,check_if_unsaved_changes应该返回true,如果它不应该关闭,则返回false。