Bro*_*nie 183 javascript jquery jquery-ui modal-dialog jquery-ui-dialog
我正在使用jquery-ui-dialog插件
我正在寻找在某些情况下关闭对话框时刷新页面的方法.
有没有办法从对话中捕获一个关闭事件?
我知道我可以在单击关闭按钮时运行代码但不包括用户使用escape或右上角的x关闭.
Bro*_*nie 247
我找到了!
您可以使用以下代码捕获close事件:
$('div#popup_content').on('dialogclose', function(event) {
alert('closed');
});
Run Code Online (Sandbox Code Playgroud)
显然,我可以用我需要做的任何事情来取代警报.
编辑:从Jquery 1.7开始,bind()已成为on()
Dar*_*ein 187
我相信您也可以在创建对话框时执行此操作(从我执行的项目中复制):
dialog = $('#dialog').dialog({
modal: true,
autoOpen: false,
width: 700,
height: 500,
minWidth: 700,
minHeight: 500,
position: ["center", 200],
close: CloseFunction,
overlay: {
opacity: 0.5,
background: "black"
}
});
Run Code Online (Sandbox Code Playgroud)
注意 close: CloseFunction
小智 31
$("#dialog").dialog({
autoOpen: false,
resizable: false,
width: 400,
height: 140,
modal: true,
buttons: {
"SUBMIT": function() {
$("form").submit();
},
"CANCEL": function() {
$(this).dialog("close");
}
},
**close: function() {
alert('close');
}**
});
Run Code Online (Sandbox Code Playgroud)
Tak*_*ksh 20
$( "#dialogueForm" ).dialog({
autoOpen: false,
height: "auto",
width: "auto",
modal: true,
my: "center",
at: "center",
of: window,
close : function(){
// functionality goes here
}
});
Run Code Online (Sandbox Code Playgroud)
对话框的"close"属性给出了close事件.
Uma*_*oor 15
你也可以尝试这个
$("#dialog").dialog({
autoOpen: false,
resizable: true,
height: 400,
width: 150,
position: 'center',
title: 'Term Sheet',
beforeClose: function(event, ui) {
console.log('Event Fire');
},
modal: true,
buttons: {
"Submit": function () {
$(this).dialog("close");
},
"Cancel": function () {
$(this).dialog("close");
}
}
});
Run Code Online (Sandbox Code Playgroud)
小智 10
这对我有用...
$('#dialog').live("dialogclose", function(){
//code to run on dialog close
});
Run Code Online (Sandbox Code Playgroud)
从jQuery 1.7开始,.on()方法是将事件处理程序附加到文档的首选方法.
因为没有人真正使用使用创建答案.on()而不是bind()我决定创建一个.
$('div#dialog').on('dialogclose', function(event) {
//custom logic fired after dialog is closed.
});
Run Code Online (Sandbox Code Playgroud)
小智 6
在示例下添加选项'close'并执行您想要的内联函数
close: function(e){
//do something
}
Run Code Online (Sandbox Code Playgroud)