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-layout 23 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);