我有一个jQuery移动对话框,它在第一次加载时运行正常,但是一旦单击浏览器中的dialog.close();
按钮或后退按钮并再次启动对话框,该对话框就不会包含在jQuery UI中标签并没有应用样式。
它第一次运作,但之后再也没有。我假设它可能是因为旧数据可能存在于DOM中,但是当用firebug检查页面时,我找不到旧数据。我注意到在第一次启动之后,它在element.data();
以下是console.logs的示例:
Before the dialog is ever created:
Object { jQuery16102984105026891979={...}, role="dialog"}
After it has been created:
Object { jQuery16102984105026891979={...}, role="dialog", page={...}, more...}
After the `dialog.close();` function has been activated:
Object { jQuery16102984105026891979={...}, role="dialog", page={...}, more...}
After it has been created again:
Object { jQuery16102984105026891979={...}, role="dialog", page={...}, more...}
为什么第二次没有应用样式?该对话框正在使用$.mobile.changePage()
启动。
我没有任何代码可以显示,因为应用程序是在MVC中构建的,尝试重现问题将是一项巨大的工作。
我在jquery.com上找到了一个类似的未回答的问题:http://forum.jquery.com/topic/dialog-not-applying-style-on-second-time-loading。