有没有办法停止jQuery UI对话框的关闭事件?
我有一个带表单的对话框模态框。当用户关闭对话框时,我想提示“不保存更改继续吗?”[是] [否]。 [是] 按钮会按预期继续并关闭对话框。 [否] 按钮将停止关闭事件并保持对话框打开。
这个可行吗?
有没有办法停止jQuery UI对话框的关闭事件?
我有一个带表单的对话框模态框。当用户关闭对话框时,我想提示“不保存更改继续吗?”[是] [否]。 [是] 按钮会按预期继续并关闭对话框。 [否] 按钮将停止关闭事件并保持对话框打开。
这个可行吗?
是的,您可以使用beforeClose
选项。根据文档:
当尝试关闭对话框时,将触发此事件。如果
beforeClose
事件处理程序(回调函数)返回false,则关闭将被阻止。代码示例
提供一个回调函数作为初始化选项来处理
beforeClose
事件。
$( ".selector" ).dialog({
beforeClose: function(event, ui) { ... }
});
Justin的答案用于显示模态框很好。如果你想取消关闭,你的函数应该返回false,像这样:
$( ".selector" ).dialog({
beforeClose: function(event, ui)
{ return check_if_unsaved_changes(..); }
});
如果对话框应该关闭,则check_if_unsaved_changes应返回true,如果不应关闭,则返回false。
$(ele).dialog("close")
会返回beforeClose之前的值。在关闭对话框后,我有一个执行了许多其他操作的函数,而我也需要检查/返回对话框("close")调用。 - Marie