EasyUI tabs update 方法后控件无法渲染问题处理
2015-05-23 13:30
239 查看
问题描述
1、使用easyui的layout布局,点击左侧目录树后添加tab,当该tab存在则刷新tab(调用tabs('update')方法)
2、此时在页面中有弹出panel的方法时(且该panel使用远程数据)panel中需要js初始化的控件失效。
原因
1、easyui js方式初始化一个panel是获取到指定id的元素后将其删除并在页面dom的body下新建window,shadow,mask三个div用来渲染panel,同时将之前删除的元素放到window下
3、问题就出现在这里,当调用tabs("update")后,只是刷新了原来tab下面的dom结构,并没有对,body下面增加的这些div做处理,导致调用tabs("update")后原来的tab下面的dom下又有一个id为developer_resource_add的div,就导致了再次打开dialog时会在body下再次创建这一系列div
4、当js通过id初始化dialog中的控件时(如combotree),将会因为找到并非此次dialog下面的呃元素,导致页面上控件渲染失败。
处理方法
只有思路,没有具体实施
1、在panel关闭事件 (onClose)销毁panel,同时将原来用于创建panel的div追加到body下,这样就防止了重复id
2、在tabs("update")方法上添加删除body下class为“panel1 window”,“window shadow”,“window mask”的div,但这样会造成删除其他tab的panel
3、暂时只能想到第一种这种方式。
1、使用easyui的layout布局,点击左侧目录树后添加tab,当该tab存在则刷新tab(调用tabs('update')方法)
2、此时在页面中有弹出panel的方法时(且该panel使用远程数据)panel中需要js初始化的控件失效。
原因
1、easyui js方式初始化一个panel是获取到指定id的元素后将其删除并在页面dom的body下新建window,shadow,mask三个div用来渲染panel,同时将之前删除的元素放到window下
3、问题就出现在这里,当调用tabs("update")后,只是刷新了原来tab下面的dom结构,并没有对,body下面增加的这些div做处理,导致调用tabs("update")后原来的tab下面的dom下又有一个id为developer_resource_add的div,就导致了再次打开dialog时会在body下再次创建这一系列div
4、当js通过id初始化dialog中的控件时(如combotree),将会因为找到并非此次dialog下面的呃元素,导致页面上控件渲染失败。
处理方法
只有思路,没有具体实施
1、在panel关闭事件 (onClose)销毁panel,同时将原来用于创建panel的div追加到body下,这样就防止了重复id
2、在tabs("update")方法上添加删除body下class为“panel1 window”,“window shadow”,“window mask”的div,但这样会造成删除其他tab的panel
3、暂时只能想到第一种这种方式。
相关文章推荐
- 使用updatePanel控件出现sys...未定义问题的处理方法
- 解决 easyui 动态添加控件时无法渲染的问题
- jquery.easyui.tabs 中的首个tabs被最后tabs覆盖的问题解决方法
- easyui中tabs的单tab点击切换其他页面借用update方法
- (安装命令解锁问题)ubuntu下安装 flashplayer陷入软件无法卸载和无法安装的处理方法
- asp.net updatePanel easyUI控件 失效问题解决办法
- hadoop 安装出现的几种异常的处理方法,hadoop无法启动,no namenode to stop问题的解决方法,no datanode
- Win8.1 Update启动失败无法启动问题解决方法
- 关于Exchange Server 2010中OWA页面无法打开问题处理方法
- 关于WIN7下STCISP因MSCOMM32.OCX控件问题无法运行及解决方法
- jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染问题的解决方法
- jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染问题的解决方法
- easyui-tabs等控件大小自适应问题
- easyui中tree型控件不正常显示的处理方法
- jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染问题的解决方法
- VS2015生成程序在别人电脑无法运行 msvcp140.dll 0x000007b 问题处理方法
- Win10下VMWare正常使用,但Win10 Update后出现无法启动问题的解决方法
- 异常处理:SSH整合中Hibernate的saveOrUpdate方法失效的问题
- winform继承窗体,无法修改父窗体控件问题处理笔记
- 解决“控件包含代码块,因此无法修改控件集合”问题的方法