easyui动态添加控件带渲染效果

上传人:第*** 文档编号:31328517 上传时间:2018-02-06 格式:DOC 页数:5 大小:55.50KB
返回 下载 相关 举报
easyui动态添加控件带渲染效果_第1页
第1页 / 共5页
easyui动态添加控件带渲染效果_第2页
第2页 / 共5页
easyui动态添加控件带渲染效果_第3页
第3页 / 共5页
easyui动态添加控件带渲染效果_第4页
第4页 / 共5页
easyui动态添加控件带渲染效果_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《easyui动态添加控件带渲染效果》由会员分享,可在线阅读,更多相关《easyui动态添加控件带渲染效果(5页珍藏版)》请在金锄头文库上搜索。

1、jQuery EasyUI 动态添加控件或者 ajax 加载页面后不能自动渲染问题的解决方法2011-03-22 12:53现象:AJAX 返回的 html 无法做到自动渲染为 EasyUI 的样式 .比如:class=easyui-layout 等处理方法:在 html 片段加载完毕后使用Js 代码 1. $.parser.parse(context) 即可重新渲染。实现原理:首先附上 jquery.parser.js 的源码Js 代码 1. (function($) 2. $.parser = 3. auto: true, 4. plugins:linkbutton,menu,menubu

2、tton,splitbutton,layout, 5. tree,window,dialog,datagrid, 6. combobox,combotree,numberbox,validatebox, 7. calendar,datebox,panel,tabs,accordion 8. , 9. parse: function(context) 10. if ($.parser.auto) 11. for(var i=0; i2 13 24 虽然页面上有这样的 DOM 了,但是没有被渲染为 Easyui 的 accordion 插件,原因很简单,Easyui 并不会一直监听页面,所以不会主

3、动渲染,这时候就需要手工调用 Easyui 的 parser 进行解析了。不过手工调用需要注意以下几点:(1) 解析目标为指定 DOM 的所有子孙元素,不包含这个 DOM 自身:比如上面代码生成的 HTML,id=tt 是我们想要的手风琴 DIV,像下面代码去手工解析的话是得不到你想要的结果的:1 $.parser.parse($(#tt);道理很简单,parser 只渲染 tt 的子孙元素,并不包括 tt 自身,而它的子孙元素并不包含任何Easyui 支持的控件 class,所以这个地方就得不到你想要的手风琴效果了,应该这样写:1 $.parser.parse($(#tt).parent()

4、;渲染 tt 的父节点的所有子孙元素就可以了,个人觉得通过 jQuery 的 parent()方法是最安全不过的了,不管你的 javascript 输出了什么 DOM,直接渲染其父节点就可以保证页面能被正确解析。(2) 某些组件无法多次解析同一个 DOM 元素:如果页面上本身就有 tt 元素:1 2 页面装载完,你通过脚本向 tt 元素 append 两个子 DIV,然后解析:1 $(#tt).append(12)2 $.parser.parse($(#tt).parent();不要以为你会得到一个满意的 accordion,你什么也得不到,因为页面初始化的时候 parser 就主动渲染过 tt 元素,这时候 tt 已经被 parser 重构,你再到脚本中 append,得到的 DOM 结构,其实并不是你预想的结果了,所以要避免这种用法。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号