我有一个JQuery Dialog,它具有刷新父窗口的beforeclose处理程序方法:
$( "#dialog" ).dialog({
beforeclose: function(event, ui) {
refreshParent();
}
});
对话框一旦打开,就可以从多个位置关闭。每次关闭对话框时,都会调用refreshParent()方法。
现在我需要检查在某些条件下是否关闭对话框,不应该调用refreshParent()。
这样做的一种方法是设置如下的全局标志:
$( "#dialog" ).dialog({
beforeclose: function(event, ui) {
if(doRefreshParent)
refreshParent();
}
});
在调用dialog close之前将doRefreshParent设置为true或false。但这似乎不是一个好方法。
我们有什么办法可以在关闭调用对话框之前检查一个关闭处理程序(即被点击的元素的id,因为关闭了对话框)。这样我们就可以控制refreshParent()的调用。
答案 0 :(得分:0)
为了识别父元素,您只需使用一个类来区分。 一种简单的效果方法。您可以找到a live example
主对话框配置::
jQuery("#dialog").dialog({
autoOpen: false,
modal: true,
open: function() {
var id = $('.parentelement').attr('id');
$("#dialog").html("The parent id is::"+id);
//alert("the id is:" + id);
},
close: function(){
$('.parentelement').removeClass('parentelement');
}
});