首页 > 代码库 > easy ui dialog 关闭之后的怪异问题

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 关闭之后的怪异问题