码迷,mamicode.com
首页 > 其他好文 > 详细

easyui 渲染问题(转)

时间:2015-04-24 17:02:06      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

1. jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染问题的解决方法:

我们之所以在页面中,只要书写相应easyui的class,Easyui就能成功渲染页面,这是因为解析器在默认情况下,parser会在文档装载完成的时候($(document).ready)被调用一次,而且是渲染整个页面。

然而当页面装载完后,如果用javascript生成的DOM中包含了Easyui支持控件的class,比如说,用javascript生成了以下代码:

<a id="tt" href="#" class="easyui-linkbutton" data-options="iconCls:‘icon-search‘">easyui</a>

 虽然页面上有这样的DOM了,但是没有被渲染为Easyui的linkbutton插件,原因是Easyui并不会一直监听页面,所以不会主动渲染,这时候就需要手工调用Easyui的parser进行解析了。

手工调用需要注意以下几点:

解析目标为指定DOM的所有子孙元素,不包含这个DOM自身:

比如上面代码生成的HTML,id="tt"是我们想要的LinkButton,像下面代码去手工解析的话是得不到你想要的结果的:

 $.parser.parse($(‘#tt‘));

道理很简单,parser只渲染tt的子孙元素,并不包括tt自身,而它的子孙元素并不包含任何Easyui支持的控件class,所以这个地方就得不到你想要的效果了,应该这样写:

 $.parser.parse($(‘#tt‘).parent());

渲染tt的父节点的所有子孙元素就可以了,不管你的javascript输出什么DOM,直接渲染其父节点就可以保证页面能被正确解析。

----------------------------------------------

试了下,可以。

easyui 渲染问题(转)

标签:

原文地址:http://my.oschina.net/u/1245614/blog/405907

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!