|
|
现象:
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[name]){r[name]();} else if (window.easyloader){easyloader.load(name, function(){r[name]();})}}})();}}}};$(function(){$.parser.parse();});})(jQuery); 框架默认在页面加载完成后自动使用$.parser.parse()对整个文档进行渲染
$.parser.auto //是否自动进行渲染$.parser.plugins //包含目前EasyUI框架中所有的插件名称$.parser.parse(context)//context 为待查找的 DOM 元素集、文档或 jQuery 对象,为空时默认为整个文档//渲染对象为: class="easyui-pluginName"的元素 |
|