我想使用 JQuery UI 对话框小部件在我的页面上显示弹出屏幕。
为了实现这一点,我有一个 <div class="popup-placeholder">
在我的页面上。实际上页面上有多个(如果这对解决方案有影响)
单击按钮后,我将初始化对话框并“打开”它。弹出窗口的初始化位于操作单击内,因为它应该进行 Ajax 调用来获取弹出窗口的内容。 (我尝试从点击事件中取出初始化,但这不起作用$('div.popup-placeholder').dialog();
)
var popupContext = $('#' + contextControl.id + ' > .popup-placeholder');
popupContext.html(formHtml);
$(popupContext).dialog({
bgiframe: true,
modal: true,
autoOpen: false,
closeOnEscape: false,
dialogClass: '',
draggable: true,
position: 'center',
resizable: false,
width: 600
});
单击操作按钮后,表单将显示并执行其预期的操作。 现在,我在弹出窗口上有一个关闭链接,它不是对话框按钮,而只是另一个绑定(bind)了事件的链接。 它这样做...
$('#popup-placeholder-61').dialog('close');
其中 #popup-placeholder-61 与 $(popupContext) 相同
我现在面临的问题是,在弹出窗口关闭时,相同的操作按钮不会再次显示弹出窗口。问题似乎是 <div class="popup-placeholder">
已从标记中删除。
我尝试了下一页上的解决方案,但没有帮助 - Jquery Dialog Close on StackOverflow
所以,我需要更多帮助
最佳答案
经过一番努力,我想出了一个最好的解决方案。请使用下面的行而不是对话框('close')
$('#popup-placeholder-61').dialog("destroy");
这将允许 div 保留其位置
关于jquery-ui - JQuery UI 对话框问题 : Close removes the div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2250910/