您的位置:首页 > Web前端 > JQuery

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

2012-03-17 23:26 1061 查看
现象:

AJAX返回的html无法做到自动渲染为EasyUI的样式.比如:class="easyui-layout" 等

处理方法:

在html片段加载完毕后使用

Js代码

$.parser.parse(context)

即可重新渲染。

实现原理:

首先附上jquery.parser.js的源码

Js代码

(function($){

$.parser = {

auto: true,

plugins:['linkbutton','menu','menubutton','splitbutton','layout',

'tree','window','dialog','datagrid',

'combobox','combotree','numberbox','validatebox',

'calendar','datebox','panel','tabs','accordion'

],

parse: function(context){

if ($.parser.auto){

for(var i=0; i<$.parser.plugins.length; i++){

(function(){

var name = $.parser.plugins[i];

var r = $('.easyui-' + name, context);

if (r.length){

if (r[name]){

r[name]();

} else if (window.easyloader){

easyloader.load(name, function(){

r[name]();

})

}

}

})();

}

}

}

};

$(function(){

$.parser.parse();

});

})(jQuery);

框架默认在页面加载完成后自动使用$.parser.parse()对整个文档进行渲染

Js代码

$.parser.auto //是否自动进行渲染

$.parser.plugins //包含目前EasyUI框架中所有的插件名称

$.parser.parse(context)

//context 为待查找的 DOM 元素集、文档或 jQuery 对象,为空时默认为整个文档

//渲染对象为: class="easyui-pluginName"的元素
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐