我正在使用jQuery打开一个效果很好的弹出窗口,但我也认为#content div与“父”页分离...
$('.newWindow').click(function(ev){
window.open('popout.html','pop out','width=400,height=345');
ev.preventDefault();
$('#content').detach();
return false;
});
使用的链接:
<a href="popout.html" rel="0" class="newWindow">Pop Out Window</a>
当弹出窗口关闭时,如何“重新附加”该div?
我已经尝试了很多我在这里找到的答案,但似乎都没有。
更新
似乎我的浏览器缓存了弹出窗口,因为当我查看源代码时(通过右键单击查看源代码)我注意到我所做的任何更改IE新的JS代码都没有那么关闭浏览器并重新打开并且嘿presto代码编辑在哪里...
暂时离开了:
window.onunload = function(){
window.opener.location.reload();
};
刷新子关闭时的父页面,但仍然更喜欢重新附加方法。
答案 0 :(得分:0)
你可以尝试
var p; // where p may be of global scope
$('.newWindow').click(function(ev){
window.open('popout.html','pop out','width=400,height=345');
ev.preventDefault();
p = $('#content').detach();
return false;
});
//关闭窗口
if(p){
p.appendTo("body");//or where ever you want it to append
p = null;
}
代码来自给定here
的示例答案 1 :(得分:0)
创建一个临时变量以在detaching
之前存储div。
var content; // temp storage
$('.newWindow').click(function(ev){
window.open('popout.html','pop out','width=400,height=345');
ev.preventDefault();
content = $('#content');
content.detach();
return false;
});
当您需要再次在DOM中重新连接时,只需使用.appendTo()
content.appendTo($("#whereToReAttach"));