0

我在具有一些 jQuery UI 对话框的 Web 应用程序中使用 pjax。

我遇到的问题是,用于创建对话框的 div 元素在创建对话框时从 dom 中的容器中移出。

当 pjax 加载新页面时,对话框 div 不会被破坏,因为它不再存在于 pjax 加载内容的容器中。当 pjax 导航回带有对话框的页面时,它会加载 div 元素的第二个副本,并且由于存在于 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 回答