jquery easyui 插件开发

easyui 插件开发


(function($) {
/**
 * 插件定义
 */
$.fn.resquery = function(options, param) {
	if (typeof options == "string") {
		return $.fn.resquery.methods[options](this, param);
	};
	
	options = options || {};

	return this.each(function(){
		var id = $(this).attr("id");
		var opts ;
		var data = $.data(this, "resquery");
		if (data) {
			opts = $.extend(data.options, options);
		} else {
			opts = $.extend( {}, $.fn.resquery.defaults,$.fn.resquery.parseOptions(this), options);
			data = $.data(this, "resquery", {
				options : opts
			});
		}
		
		//你的插件。。。
		//如果在这里动态的生成了  easyui 的控件,html 写到页面上后是不能渲染成 easyui 组件的,需要手动调用
		//			$.parser.parse(你定义的html); // parse 必须渲染父节点,不能渲染节点本身
		
	});
};

/**
 * 默认值配置
 */
$.fn.resquery.defaults = {//默认属性定义
    resQueryUrl 		: 'XXXXX',
    fit					: true,
    border				: false,
    layout				: 'west'
};

/**
 * 对外暴露的方法
 */
$.fn.resquery.methods = {
	onResTreeQuery : function(jq,param){
		return jq.each(function(){
			addTabs(this,param);
		});
		
	}
};

/**
 * class声明式定义属性data-options转化为options
 * @param {Object} target DOM对象
 * @return {TypeName} 
 */
$.fn.resquery.parseOptions = function(target) {
	var t = $(target);
	return $.extend({},$.parser.parseOptions(target,["resQueryUrl"]));//解析 data-options 中的初始化参数
};

function addTabs(jq,param){
	//方法定义
}

$.parser.plugins.push('resquery');//将自定义的插件加入 easyui 的插件组

})(jQuery);



你可能感兴趣的:(jquery,easyui,插件开发)