如何不关闭 jQuery UI 的对话框
How to do not close Dialog of jQuery UI?
var error = 1;
$(document).on('click', '.ui-icon-closethick', function(event){
if(error == 1){
alert('error');
event.preventDefault();
event.stopPropagation();
return false;
}
})
如何不关闭jQuery UI的对话框?现在,如果我单击关闭按钮(x(,则会出现警报错误,但对话框正在关闭。
现场演示
您可以将
beforeClose
选项添加到对话框中并在其上返回 false:
$("#dialog").dialog({
beforeClose: function(){
return false;
}
});
演示:http://jsfiddle.net/UfpHz/9/
好吧,
您可以通过删除关闭按钮来做到这一点。
$("#YOUR_DIALOG_DOM_ID").dialog({
closeOnEscape: false,
open: function(event, ui)
{
$(".ui-dialog-titlebar-close", ui.dialog || ui).hide();
}
});
可以使用
beforeClose
事件来阻止对话框关闭。
喜欢这个:
$( "#dialog" ).dialog({
beforeClose: function(){
if(error == 1){
alert('error');
return false;
}
}
});
您需要查找事件beforeClose
错误并在那里返回true
或false
。
var error = 1;
$(function () {
$("#dialog").dialog({
beforeClose: function (event, ui) {
if (error === 1) { // in javascript you compare with ===, not ==
alert('error');
return false; // error, dialog will not close
}
return true; // no error, dialog will close
}
});
});
http://jsfiddle.net/RHhwV/
您也可以处理关闭事件
$(function() {
$( "#dialog" ).dialog({
close: function(event,ui){
$(this).dialog('open');
}
});
});
更多文档可在此链接中找到
演示
使用
beforeClose: function( event, ui ) {return false;}
从网址 : http://api.jqueryui.com/dialog/#event-beforeClose
如果我理解正确,您希望允许用户单击右上角对话框中的"X"按钮,但您不想允许他们关闭窗口。您可能希望改为触发其他事件。
使用您自己的 dialogClass 在您自己的代码中尝试此示例:
$("#dialogId").dialog({
dialogClass: "dialogId",
title: "someTitle",
//modal: true,
//autoOpen: false,
//resizable: false,
//closeOnEscape: false,
height: 500,
width: 1000,
open : function(event, ui){
},
beforeClose: function (event, ui) {
if ($(".dialogId .ui-dialog-titlebar-close").is(":focus")) {
alert('X clicked but do not close!');
return false; // do not close dialog
}
return true; // close dialog
},
buttons: [
{ }
]
});
从本质上讲,这里发生的事情是询问对话框的 X 按钮是否被聚焦(即单击(,然后我们返回 false。如果您愿意,可以在此处触发其他事件,例如在顶部弹出自己的自定义"您确定要取消吗?"对话框。
干杯!祝你好运。
杰弗里
相关文章:
- 如何在页面重新加载时显示jquery ui对话框
- Jquery UI对话框不会消失
- OnsenUI、Angular和在警报对话框后刷新UI组件
- jQuery UI对话框错误,按钮导致HierarchyRequestError
- 获取活动的jQuery UI对话框
- jQuery UI模式对话框覆盖淡出
- 单击按钮创建多实例jQuery UI对话框
- JQuery UI对话框在重新打开时未正确调整大小
- MVC3 Ajax链接确认对话框使用jquery ui对话框
- jQuery UI对话框窗体-缺少变量值
- 动态创建的 jQuery UI 对话框错误后 jQuery 2.2.0 升级
- JQuery UI 对话框在第二次单击时不会更新
- jQuery UI 对话框 - X 秒后关闭
- 关闭动态创建的 jQuery-ui 对话框
- jQuery UI 对话框和滚动块竞争鼠标
- 动手错误:在 jquery UI 中启动时,对话框是不可编辑的
- 对话框UI-隐藏效果不会触发完整事件
- jquery对话框ui中的Canvas元素
- jQuery对话框UI无限滚动到顶部
- 单击标题时,jQuery对话框UI将关闭