Javascript 按X按钮后对话框未关闭

Javascript 按X按钮后对话框未关闭,javascript,jquery,Javascript,Jquery,我有一个场景。我正在打开一个对话框,但我的父窗口每一分钟就会刷新一次。假设我的对话框打开了5分钟,然后我必须按5次X按钮才能关闭该对话框。知道为什么会这样吗 为了打开对话框,我使用了以下代码: var dialogOptions = { overflow: 'scroll',height: 100,width: 500,show: true, hide: true, modal: true}; $('#act_summary').dialog(dialogOptions); 谢谢。您需要先检查

我有一个场景。我正在打开一个对话框,但我的父窗口每一分钟就会刷新一次。假设我的对话框打开了5分钟,然后我必须按5次
X
按钮才能关闭该对话框。知道为什么会这样吗

为了打开对话框,我使用了以下代码:

var dialogOptions = { overflow: 'scroll',height: 100,width: 500,show: true, hide: true, modal: true};
$('#act_summary').dialog(dialogOptions);

谢谢。

您需要先检查该对话框是否存在:

if (!$('#act_summary').length > 0){
  $('#act_summary').dialog(dialogOptions);
}

如果你不这样做,你就继续创造新的。这就是为什么您必须单击它5次的原因。实际上您正在关闭对话框的5个实例。

为什么父窗口每分钟刷新一次?听起来很可怕!我不明白:如果页面随时刷新,你怎么能保持对话框打开5分钟?也许你不是关闭对话框5次,而是关闭5个对话框?:)稍作更正..每分钟只刷新父页面的一部分(包含记录的小程序),而不是整个页面..打开对话框的按钮与刷新的小程序位于同一个小程序中。请检查
$(“#act_summary”)
如果我没有打开dialogbox@strt,但假设小程序刷新了3次,然后我打开了dbox,那么在创建新的对话框之前就存在了。在这种情况下,我还必须按X按钮3次。为什么会这样?这是全部代码:myDiv=document.createElement('div');myDiv.setAttribute('id','act_summary');myDiv.setAttribute('title','Activity Summary');var jqmyDiv=$(myDiv);myDiv.innerHTML=htmlstr;jqmyDiv.appendTo(“#pager_s_1_l_left”);var dialogOptions={溢出:“滚动”,高度:100,宽度:500,显示:真,隐藏:真,模态:真};如果(!$('#act_summary').length>0){$('#act_summary').dialog(dialogOptions);}您仍然在检查
是否存在之前创建
myDiv=document.createElement('div')
您还混合了
javascript
jquery
。您需要清理代码。@Chiranjit您是否多次创建
div
?如果是的话,我会告诉你一些秘密:ID必须是唯一的@Palvo我按一下按钮就把那个div涂了很多次,但问题是,如果父页面中的小程序刷新,我必须按小程序刷新次数一样多的交叉按钮。刚才我看到对话框被创建了很多次,即使在小程序刷新5次后打开对话框,我也必须关闭5个数据库。为什么会发生这种情况?@Chiranjit我不能告诉你,因为你没有提供代码。