jQuery EasyUI动态添加控件或者aja…

现象:

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

 

处理方法:

     在html片段加载完毕后使用

Js代码  
  1. $.parser.parse(context)  
$.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(){  
  13.                         var name $.parser.plugins[i];  
  14.                         var $('.easyui-' name, context);  
  15.                         if (r.length){  
  16.                             if (r[name]){  
  17.                                 r[name]();  
  18.                             else if (window.easyloader){  
  19.                                 easyloader.load(name, function(){  
  20.                                     r[name]();  
  21.                                 })  
  22.                              
  23.                          
  24.                     })();  
  25.                  
  26.              
  27.          
  28.     };  
  29.     $(function(){  
  30.         $.parser.parse();  
  31.     });  
  32. })(jQuery);  
(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代码  
  1. $.parser.auto   //是否自动进行渲染  
  2. $.parser.plugins  //包含目前EasyUI框架中所有的插件名称  
  3. $.parser.parse(context)  
  4. //context  为待查找的 DOM 元素集、文档或 jQuery 对象,为空时默认为整个文档  
  5. //渲染对象为: class="easyui-pluginName"的元素 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值