(
function
($) {
/**
* 插件定义
*/
$.fn.resquery =
function
(options, param) {
//当options为字符串时,说明执行的是该插件的方法。
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
{
//$.fn.combobox.parseOptions(this)作用是获取页面中的data-options中的配置
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);