0

私はいくつかの jQuery UI ダイアログを持つ Web アプリで pjax を使用しています。

私が直面している問題は、ダイアログの作成に使用される div 要素が、ダイアログの作成時に dom 内のコンテナーから移動されることです。

pjax が新しいページをロードするとき、pjax がコンテンツをロードするコンテナー内に存在しなくなるため、ダイアログ div は破棄されません。pjax がダイアログでページに戻ると、div 要素の 2 番目のコピーが読み込まれ、dom に存在する重複した要素のためにすべてがバグになります。

この問題に対するエレガントな解決策を見つけた人はいますか? jQuery UI ダイアログ呼び出しによって行われたすべての dom 変更をクリーンアップする方法はありますか?

また、この問題は pjax に固有のものではないことにも言及する必要があります。$("#mycontainer").load("page-with-dialog.html"); を単純に使用すると、同じことが起こります。

4

1 に答える 1

0

div スタイルを display:none に設定し、同じものを再利用します。破棄しないでください。

<div id="dialog" class="ui-helper-hidden">
</div>
于 2011-07-13T19:50:56.747 に答える