[转载]jQuery EasyUI 源代码分析之parser

[转载]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);
赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏