1 (function($) {
2 /**
3 * 插件定义
4 */
5 $.fn.resquery = function(options, param) {
6 if (typeof options == "string") {
7 return $.fn.resquery.methods[options](this, param);
8 };
9
10 options = options || {};
11
12 return this.each(function(){
13 var id = $(this).attr("id");
14 var opts ;
15 var data = $.data(this, "resquery");
16 if (data) {
17 opts = $.extend(data.options, options);
18 } else {
19 opts = $.extend( {}, $.fn.resquery.defaults,$.fn.resquery.parseOptions(this), options);
20 data = $.data(this, "resquery", {
21 options : opts
22 });
23 }
24
25 //你的插件。。。
26 //如果在这里动态的生成了 easyui 的控件,html 写到页面上后是不能渲染成 easyui 组件的,需要手动调用
27 // $.parser.parse(你定义的html); // parse 必须渲染父节点,不能渲染节点本身
28
29 });
30 };
31
32 /**
33 * 默认值配置
34 */
35 $.fn.resquery.defaults = {//默认属性定义
36 resQueryUrl : 'XXXXX',
37 fit : true,
38 border : false,
39 layout : 'west'
40 };
41
42 /**
43 * 对外暴露的方法
44 */
45 $.fn.resquery.methods = {
46 onResTreeQuery : function(jq,param){
47 return jq.each(function(){
48 addTabs(this,param);
49 });
50
51 }
52 };
53
54 /**
55 * class声明式定义属性data-options转化为options
56 * @param {Object} target DOM对象
57 * @return {TypeName}
58 */
59 $.fn.resquery.parseOptions = function(target) {
60 var t = $(target);
61 return $.extend({},$.parser.parseOptions(target,["resQueryUrl"]));//解析 data-options 中的初始化参数
62 };
63
64 function addTabs(jq,param){
65 //方法定义
66 }
67
68 $.parser.plugins.push('resquery');//将自定义的插件加入 easyui 的插件组
69
70 })(jQuery);