首页 > 代码库 > easyUI的同一dialog加载多次的情况解决
easyUI的同一dialog加载多次的情况解决
今天在刷新tab页时发现其中的dialog内容每次都不变,只有刷新整张页面之后才会变。
刚开始以为是缓存,因为正好页面用到了velocity的#parse,还以为velocity会把#parse的页面缓存起来
于是看了一下response,返回的页面确实是改过的,那就不是缓存问题。
查看了一下页面的元素,发现居然有两个id相同的dialog,就是这个原因!为什么呢?
因为easyUI在解析dialog的时候,不论dialog定义在哪里,都会被放到body下
而在刷新tab的时候,只刷新某一个tab panel下的所有元素,所以刷新的时候又解析了一次dialog,于是我们就看到多个dialog了。
那么该如何解决这个问题呢?
1、将dialog放到主界面中,而不是通过tab来加载
2、刷新的tab的时候去销毁掉之前的dialog
这里我用了第二种方法,大家看看吧
onBeforeLoad:function(param){ if(title == '测试'){ if($('#repairsPaper')[0]){ $('#repairsPaper').dialog('destroy', true); } } }
easyUI的同一dialog加载多次的情况解决
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。