jquery怎样自定义组件?原理及代码详解
Admin 2021-05-24 群英技术资讯 915 次浏览
我们知道jquery中的组件有很多,但是也有可能找不到符合我们需求的组件,我们就可以自己封装一个组件。在JQ中,是允许我们自定义一些插件与扩展的。呢么jquery自定义组件的方法是什么呢?其实,定义的方式也比较简单,采用$.extend就行,那么下面就来看看在JQ中自定义一个插件的实例。
JQuery如何封装一个组件
效果
我们先来看封装好的组件的效果图,这是一个根据组织机构选择人员的组件。
实现原理
我们先定义一个DbwSelectUser函数
DbwSelectUser : function (options) { var opt = $.extend({ //是否多选:true(多选),false(单选) multi:true, offset:'auto', //layerIndex:弹出窗口索引 //users数据结构:[{userId:'', userName:'', departId:'', departName:''}] onOk:function(layerIndex, users){} }, options || {}); $.LoadIframe({ title: '请选择人员', content: 'assets/js/extend/jquery/userSelect/user-select.jsp?multi=' + opt.multi, maxmin: false, area: ['840px', '500px'], resize: false, scrollbar:false, offset: opt.offset, btn: ['确定', '取消'], yes: function (index, layero) { var iframeWin = $(layero).find('iframe')[0].contentWindow; //users:[{userId:'', userName:'', departId:'', departName:''}] var users = iframeWin.getSelectedUsers(); opt.onOk(index, users); return false; } }, false); }
这里的user-select.jsp就是要弹出的页面。这边调用了LoadIframe方法并传入了参数,我们来看看LoadIframe方法的实现
LoadIframe: function (options, fullScreen) { /*layer的默认配置*/ var _default = { type: 2, title: '系统窗口', content: '', area: 'auto', shadeClose: false, maxmin: true, maxWidth: 600, maxHeight: 500 }, o = $.extend(_default, options || {}), index = layui.layer.open(o); if (fullScreen) { //窗口全屏 layui.layer.full(index); } return index; }
使用
$.DbwSelectUser({ //offset:弹出框显示位置(空或auto:居中,rb:右下角) offset:'rb', //选好人员后弹出框的“确定”按钮单击事件回调函数 onOk:function(layerIndex, users) { //layerIndex:弹出框layer的索引 //users数据结构:[{userId:'', userName:'', departId:'', departName:''},{....}] //以下编写接收到所选人员后自己的业务逻辑 } });
可以看到其实是对layui的一个弹窗进行了封装,其中$.extend是JQuery里面扩展插件的一个方法,会用后面的同名变量替换前面的。在上诉代码中的作用是用来如果你没有传某个属性,就用默认的属性。
以上就是关于怎样做jquery自定义组件的介绍,现在大家对于定义的方式应该都有了解了,希望本文对大家学习jquery自定义组件有帮助,更多jquery自定义组件的内容,可以关注其他文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了JS构造函数和实例化的关系及原型引入,下文围绕JS构造函数和实例化的关系及原型引入的西安海关资料展开全文内容,需要的朋友可以参考一下,希望对大家有所帮助
方法:1、声明一个验证数字的正则表达式,语法为“var a=/^[1-9][0-9]+$/gi;”;2、在if语句中利用test()方法来验证数字,语法为“if(a.test(指定内容)){是数字代码;}else{不是数字代码;}”。
这篇文章主要为大家详细介绍了微信小程序实现计算器小功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文主要给大家分享JS内存空间的相关内容,给大家介绍了栈与堆、变量对象与基础数据类型、引用数据类型与堆内存和内存空间管理等内容,对帮助大家学习和加深JS内存空间的知识有一定的帮助,接下来我们一起来看看吧。
笔者最近用react useEffect闭包,其中踩到了一些坑在此与大家分享一下。需要的朋友们下面随着小编来一起学习学习吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008