1

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 を「再接続」するにはどうすればよいですか?

SOでここで見つけた多くの答えを試しましたが、どれもうまくいかないようです。

アップデート:

ソースを表示したとき(ソースを右クリックして表示)、ブラウザがポップアップウィンドウをキャッシュしたようです。IEに加えた変更に気づきました新しいJSコードがそこになかったので、ブラウザを閉じて再度開いて、そこにコードを編集してください...

一時的に行った:

window.onunload = function(){
  window.opener.location.reload();
};

子を閉じると親ページが更新されますが、再接続のアプローチが優先されます。

4

2 に答える 2

0

の前にdivを格納する一時変数を作成しますdetaching

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"));
于 2012-04-29T22:13:44.427 に答える
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;
}

コードはここに示されている例から取られました

于 2012-04-29T22:05:52.033 に答える