jquery怎样自定义组件?原理及代码详解
Admin 2021-05-24 群英技术资讯 1115 次浏览
我们知道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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
TypeScript语法详解之类型操作的补充 目录 类型操作的补充 类型断言的使用 非空类型的断言 可选链使用介绍 两个特殊操作符 字面量类型介绍 字面量推理介绍 总结 类型操作的补充 类型断言的使用 有时候TypeScript无法获取具体的类型信息,这个我们需要使用类型断言( Type Assertions). 比如我们在操作DOM的时候, 通过 document.getElementById 获取元素, TypeScript只知道该函数会返回HTMLElement ,但并不知道它具体的类型, 是无法得知具体是img还是div等等: 当我
这篇文章主要介绍了浅谈vant组件Picker 选择器选单选问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
测量执行一个函数所需的时间总是一个很好的办法,证明某些实现比另一个实现的性能更好。这也是一个很好的方法,可以确保性能没有在某些改变后受到影响,也可以追踪瓶颈。
本文介绍的是关于React中this指向的内容,对于React中this指向问题下文有详细的介绍及解决方法供大家参考,需要的朋友可以了解看看,对大家学习React中this指向的内容有一定的参考价值。接下来我们就一起了解一下吧。
使用组件库时,图标往往不能满足需求,所以我们常常需要用到第三方图标库,这篇文章主要给大家介绍了关于vue引入iconfont的相关资料,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008