EasyUI学习总结(四)——parser源码分析

来源:互联网 发布:卖钣金展开软件 编辑:程序博客网 时间:2024/05/16 05:48

parser模块是easyloader第一个加载的模块,它的主要作用,就是扫描页面上easyui开头的class标签,然后初始化成easyui控件。

复制代码
 1     /** 2      * parser模块主要是解析页面中easyui的控件 3      */ 4     $.parser = { 5         // 是否自动解析 6         auto: true, 7  8         // 可以被解析的控件 9         plugins:['linkbutton','menu','menubutton','splitbutton','layout',10                  'tree','window','dialog','datagrid',11                  'combobox','combotree','numberbox','validatebox',12                  'calendar','datebox','panel','tabs','accordion'13         ],14 15         // 解析函数16         parse: function(context){17             if ($.parser.auto){18                 for(var i=0; i<$.parser.plugins.length; i++){19                     (function(){20                         // 控件名21                         var name = $.parser.plugins[i];22                         // 查找class为easyui-控件名的jq对象,例如,easyui-layout23                         var r = $('.easyui-' + name, context);24 25                         if (r.length){26                             // 如果有这个对象,那么判断它有没有初始化函数27                             if (r[name]){28                                 // 如果有直接调用29                                 r[name]();30                             } else if (window.easyloader){31                                 // 如果没有用easyloader把模块的js文件载入进来,再调用32                                 easyloader.load(name, function(){33                                     r[name]();34                                 })35                             }36                         }37                     })();38                 }39             }40         }41     };42 43     // 调用parse方法,实际上easyloader中已经调用了,我估计这个是给不是easyloader加载时使用的44     $(function(){45         $.parser.parse();46     });47 })(jQuery);
复制代码
阅读全文
0 0