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

 

轉自:http://my.oschina.net/gougouqihao/blog/182318html

相關文章
相關標籤/搜索