jquery easyui 插件开发

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

 

posted @ 2017-04-21 10:52  无名大白  阅读(728)  评论(0)    收藏  举报