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/182318
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决