[转载]Jquery easyui 源代码分析之parser – 读码笔记 – 博客频道 – CSDN.NET.
parser模块是easyloader第一个加载的模块,它的主要作用,就是扫描页面上easyui开头的class标签,然后初始化成easyui控件。
/** * parser模块主要是解析页面中easyui的控件 */ $.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]; // 查找class为easyui-控件名的jq对象,例如,easyui-layout var r = $('.easyui-' + name, context); if (r.length){ // 如果有这个对象,那么判断它有没有初始化函数 if (r[name]){ // 如果有直接调用 r[name](); } else if (window.easyloader){ // 如果没有用easyloader把模块的js文件载入进来,再调用 easyloader.load(name, function(){ r[name](); }) } } })(); } } } }; // 调用parse方法,实际上easyloader中已经调用了,我估计这个是给不是easyloader加载时使用的 $(function(){ $.parser.parse(); }); })(jQuery);