easy ui dialog 关闭之后的怪异问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了easy ui dialog 关闭之后的怪异问题相关的知识,希望对你有一定的参考价值。

最近在工作中使用easy ui做东西,然后发现了一些不可思议的现象,笔记一下,前事不忘后事之师!

事故现场:

    增加页面和修改页面是分离的两个jsp文件.

    在页面加载时会用jquery去控制一些数据加载和一些逻辑.理论上来说不希望增加页面和修改页面

    互相干扰.

    单独拿增加模块测是正常的.加载修改页面后再使用增加页面就会发现增加页面功能不正常.

    之后通过浏览器检查发现使用jquery通过类选择器选中的dom对象的确是不正常的.经排查发现增加

    页面和修改页面是用到相同的class,而用jquery获取对象时正是用此class获取,以致增加页面功能不

    能正常使用.

处理方案:

    修改其中一个页面与另外一个页面相同的类名以作区分,以防在增加页面js选择dom对象时获取到修改页面.

根本原因:

    easy ui dialog 是通过主页面上的div 对象加载子页面实现的.在dialog加载时会把子页面dom对象加载到主页面上,dialog关闭时实际上是把div隐藏,而不是销毁dom对象,以致在关闭dialog后在主页面依然能获取到子页面上我们不希望出现的dom对象.也就是说在加载修改dialog之后我们在增加页面上依然可以获取到修改页面上的资源,同样,在加载增加dialog后在修改页面上也可以获取增加页面的资源,这只是一个加载顺序的问题.所以出现了一些不可思议的现象.以此谨记.

本文出自 “会飞的^(oo)^” 博客,请务必保留此出处http://kingstar.blog.51cto.com/8797655/1946217

以上是关于easy ui dialog 关闭之后的怪异问题的主要内容,如果未能解决你的问题,请参考以下文章

jquery-ui-dialog - 如何挂钩对话框关闭事件

如何使 jquery-ui-dialog 没有关闭按钮?

element-ui dialog设置为点击弹窗以外的区域不关闭弹窗

“jquery dialog”对话框的关闭事件都有哪些?

jquery ui dialog 怎么让弹窗1秒后自动关闭

jquery dialog 怎样半透明