六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 35|回复: 0

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

[复制链接]

升级  6%

15

主题

15

主题

15

主题

秀才

Rank: 2

积分
59
 楼主| 发表于 2013-1-23 01:40:01 | 显示全部楼层 |阅读模式
现象:
       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"的元素
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表