在使用easyui动态添加控件后,无法自动得到渲染,百度文库中有一篇非常详细的文章解决此问题,本文针对百度文库中的原文进行一些重要补充,避免大家走弯路。
动态渲染需要用到easyui自带的easyloader.js,在引用easyloader.js后,就不要再引用jquery.easyui.min.js。随后就使用我们自己的js动态调用easyloader加载渲染控件。
另外要注意的是,一定要将easyui的plugins目录(带上里面你需要用到的插件)放到easyloader.js同级目录下,这样才可以loader的到。
补充的关键内容就这么多,下面就按照转正的百度文库中的方法做就好了,以下为转载内容:
现象:
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','menubutton','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; i<$.parser.plugins.length; i++){
12.
(function(){