shixy 发表于 2013-1-23 01:40:01

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

现象:
       AJAX返回的html无法做到自动渲染为EasyUI的样式.比如:class="easyui-layout" 等
 
处理方法:
      在html片段加载完毕后使用
$.parser.parse(context)     即可重新渲染。
 
实现原理:
 
    首先附上jquery.parser.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;var r = $('.easyui-' + name, context);if (r.length){if (r){r();} else if (window.easyloader){easyloader.load(name, function(){r();})}}})();}}}};$(function(){$.parser.parse();});})(jQuery);   框架默认在页面加载完成后自动使用$.parser.parse()对整个文档进行渲染
 
$.parser.auto   //是否自动进行渲染$.parser.plugins//包含目前EasyUI框架中所有的插件名称$.parser.parse(context)//context为待查找的 DOM 元素集、文档或 jQuery 对象,为空时默认为整个文档//渲染对象为: class="easyui-pluginName"的元素
页: [1]
查看完整版本: jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染问题的解决方法