我在具有一些jQuery UI对话框的Web应用程序中使用pjax。
我遇到的问题是,在创建对话框时,用于创建对话框的div元素被移出dom中的容器。
当pjax加载新页面时,对话框div不会被销毁,因为它不再存在于pjax将内容加载到的容器中。当pjax使用对话框导航回页面时,它会加载div元素的第二个副本,并且由于dom中存在重复的元素,所有内容都会出错。
有没有人找到这个问题的优雅解决方案?有没有办法清理jQuery UI对话框调用所做的所有dom更改?
我还应该提一下,这个问题并不是针对pjax的。如果我只使用$(“#mycontainer”),就会发生同样的事情.load(“page-with-dialog.html”);
答案 0 :(得分:0)
将div样式设置为display:none并重用相同的样式,不要销毁它。
<div id="dialog" class="ui-helper-hidden">
</div>