- 浏览: 46743 次
- 性别:
- 来自: 武汉
文章分类
最新评论
根据业务进行的扩展,easyui版本1.4.2
var sy = sy || {}; /** * 扩展validatebox,修改默认值 * * @author Ray * * @requires jQuery,EasyUI */ $.extend($.fn.validatebox.defaults, { inputEvents:{ focus:function(e){ var t=$(e.data.target); window.setTimeout(function(){t.textbox('textbox').select();},100); },click:function(e){ var t=$(e.data.target); if(!t.is(":focus")){ t.trigger("focus"); } } } }); /** * 扩展textbox,修改默认值 * * @author Ray * * @requires jQuery,EasyUI */ $.extend($.fn.textbox.defaults, { width:173, onChange:function(p){ if(p!=undefined&&typeof p == 'string'){ p = p.replace(",",",")+'';//将中文逗号替换成英文逗号 if ($(this).textbox('options').prompt.indexOf('*')<0) {//替换特殊字符,根据提示中是否包含*决定是否替换* $(this).textbox("setValue",p.replace(/[<>!=\|\+\^\s\/\\\'\"\?\[\]\(\)\*]/g,'')); }else{ $(this).textbox("setValue",p.replace(/[<>!=\|\+\^\s\/\\\'\"\?\[\]\(\)]/g,'')); } } } }); /** * 更改easyui加载grid时的提示文字 * * @author Ray * * @requires jQuery,EasyUI */ $.extend($.fn.datagrid.defaults, { loadMsg : '数据加载中....', title: '', striped: true, //显示斑马线效果 rownumbers: true, //如果为true,则显示一个行号列。 fit: true, //自适应宽度 autoRowHeight: false, //自适应高度 rownumbers: true, //如果为true,则显示一个行号列。 pagination: true, //分页 pageSize: 50, pageList: [10, 20, 30, 40, 50, 100, 200, 300, 400, 500], onBeforeLoad: function(param) { loadProgress($,true); }, onLoadSuccess : function(data) { $(this).datagrid('clearChecked'); $('.iconImg').attr('src', sy.pixel_0); loadProgress($,false); } }); /** * panel关闭时回收内存,主要用于layout使用iframe嵌入网页时的内存泄漏问题 * * @author Ray * * @requires jQuery,EasyUI * */ $.extend($.fn.panel.defaults, { loadingMessage : '加载中....', onBeforeDestroy : function() { var frame = $('iframe', this); try { if (frame.length > 0) { for (var i = 0; i < frame.length; i++) { frame[i].src = ''; frame[i].contentWindow.document.write(''); frame[i].contentWindow.close(); } frame.remove(); if (navigator.userAgent.indexOf("MSIE") > 0) {// IE特有回收内存方法 try { CollectGarbage(); } catch (e) { } } } } catch (e) { } } }); /** * 防止panel/window/dialog组件超出浏览器边界 * * @author Ray * * @requires jQuery,EasyUI */ sy.onMove = { onMove : function(left, top) { var l = left; var t = top; if (l < 1) { l = 1; } if (t < 1) { t = 1; } var width = parseInt($(this).parent().css('width')) + 14; var height = parseInt($(this).parent().css('height')) + 14; var right = l + width; var buttom = t + height; var browserWidth = $(window).width(); var browserHeight = $(window).height(); if (right > browserWidth) { l = browserWidth - width; } if (buttom > browserHeight) { t = browserHeight - height; } $(this).parent().css({/* 修正面板位置 */ left : l, top : t }); } }; $.extend($.fn.dialog.defaults, sy.onMove); $.extend($.fn.window.defaults, sy.onMove); $.extend($.fn.panel.defaults, sy.onMove); /** * * 通用错误提示 * * 用于datagrid/treegrid/tree/combogrid/combobox/form加载数据出错时的操作 * * @author Ray * * @requires jQuery,EasyUI */ sy.onLoadError = { onLoadError : function(XMLHttpRequest) { if (parent.$ && parent.$.messager) { parent.$.messager.progress('close'); parent.$.messager.alert('错误', XMLHttpRequest.responseText); } else { $.messager.progress('close'); $.messager.alert('错误', XMLHttpRequest.responseText); } } }; $.extend($.fn.datagrid.defaults, sy.onLoadError); $.extend($.fn.treegrid.defaults, sy.onLoadError); $.extend($.fn.tree.defaults, sy.onLoadError); $.extend($.fn.combogrid.defaults, sy.onLoadError); $.extend($.fn.combobox.defaults, sy.onLoadError); $.extend($.fn.form.defaults, sy.onLoadError); /** * 扩展combobox在自动补全模式时,检查用户输入的字符是否存在于下拉框中,如果不存在则清空用户输入 * * @author Ray * * @requires jQuery,EasyUI */ $.extend($.fn.combobox.defaults, { onShowPanel : function() { var _options = $(this).combobox('options'); if (_options.mode == 'remote') {/* 如果是自动补全模式 */ var _value = $(this).combobox('textbox').val(); var _combobox = $(this); if (_value.length > 0) { $.post(_options.url, { q : _value }, function(result) { if (result && result.length > 0) { _combobox.combobox('loadData', result); } }, 'json'); } } }, onHidePanel : function() { var _options = $(this).combobox('options'); if(_options.editable&&!_options.multiple){ var _data = $(this).combobox('getData');/* 下拉框所有选项 */ var _value = $(this).combobox('getValue');/* 用户输入的值 */ var _b = false;/* 标识是否在下拉列表中找到了用户输入的字符 */ for (var i = 0; i < _data.length; i++) { if (_data[i][_options.valueField] == _value) { _b=true; break; } } if(!_b){ $(this).combobox('setValue', undefined); } } }, panelHeight:200, showDataSize:20, editable:true,//可编辑 validate:true,//验证输入的值 formatter:function(record){ var opts = $(this).combobox('options'); return record[opts.valueField]+'-'+record[opts.textField]; }, filter:function(q, row){//当输入数据时会调用该方法进行筛选过滤 var opts = $(this).combobox('options'); return row[opts.valueField].indexOf(q)>=0||row[opts.textField].indexOf(q)>=0; }, onClickIcon:function(){//使用户点击combobox下拉按钮时也能执行过滤 var opts = $(this).combobox('options'); if(opts.editable){ var q=$(this).combobox("getValues"); $(this).combobox("options").keyHandler.query.call(this,q==undefined?"":q); $(this).combobox("validate"); } }, width:173 }); /** * 扩展numberbox,修改默认值 * * @author Ray * * @requires jQuery,EasyUI */ $.extend($.fn.numberbox.defaults, { min:0, width:173 }); /** * 扩展combogrid在自动补全模式时,检查用户输入的字符是否存在于下拉框中,如果不存在则清空用户输入 * * @author Ray * * @requires jQuery,EasyUI */ $.extend($.fn.combogrid.defaults, { onShowPanel : function() { var _options = $(this).combogrid('options'); if (_options.mode == 'remote') {/* 如果是自动补全模式 */ var _value = $(this).combogrid('textbox').val(); if (_value.length > 0) { $(this).combogrid('grid').datagrid("load", { q : _value }); } } }, onHidePanel : function() { var _options = $(this).combogrid('options'); if (_options.mode == 'remote') {/* 如果是自动补全模式 */ var _data = $(this).combogrid('grid').datagrid('getData').rows;/* 下拉框所有选项 */ var _value = $(this).combogrid('getValue');/* 用户输入的值 */ var _b = false;/* 标识是否在下拉列表中找到了用户输入的字符 */ for (var i = 0; i < _data.length; i++) { if (_data[i][_options.idField] == _value) { _b = true; } } if (!_b) {/* 如果在下拉列表中没找到用户输入的字符 */ $(this).combogrid('setValue', ''); } } } }); /** * 扩展validatebox,添加新的验证功能 * * @author Ray * * @requires jQuery,EasyUI */ $.extend($.fn.validatebox.defaults.rules, { eqPwd : {/* 验证两次密码是否一致功能 */ validator : function(value, param) { return value == $(param[0]).val(); }, message : '密码不一致!' }, moreThanDate : {/* 验证开始时间是否小于结束时间,应用于结束时间标签,结束时间允许为空 */ validator : function(value, param) { if (value == undefined || value == "") { return true; } if (param == undefined || param.length == 0) { return false; } var sDate = new Date($(param[0]).datetimebox('getValue')) .getTime(); var eDate = new Date(value).getTime(); return eDate > sDate; }, message : '开始时间必须小于结束时间!' }, multiple : {/* 验证数字是参数N的倍数 */ validator : function(value, param) { if (param == undefined || param.length == 0) { return true; } if (value != undefined) { return value % param[0] == 0; } return false; }, message : '必须是 {0}的倍数!' }, mobile : {/* 验证手机号 */ validator : function(value) { if (value == undefined || value.length == 0) { return true; } return value.match(/^1\d{10}$/); }, message : '必须为11位手机号,手机号可不填!' }, phone : {/* 验证座机号格式 */ validator : function(value) { if (value == undefined || value.length == 0) { return true; } return value.match(/^(0\d{2,3}\-)?([2-9]\d{6,7})$/); }, message : '必须为有效的座机号,可不填!' }, email : {/* 验证email格式 */ validator : function(value) { if (value == undefined || value.length == 0) { return true; } return value.match(/^.+@.+\..+$/); }, message : '必须为有效的邮箱号,邮箱号可不填!' }, decimal : {/* 验证小数 :param:整数位长度,小数位长度,允许为空 */ validator : function(value, param) { if (param == undefined || param.length == 0) { return true; } var message = ""; var regs = "^"; if (param[0] == 0) { regs += "\\d+"; message = "必须输入整数位,"; } else { message = "整数位不能大于" + param[0] + "位,"; regs += "\\d{1," + param[0] + "}"; } if (param[1] == 0) { regs += "(\\.\\d+)?$/"; } else { regs += "(\\.\\d{1," + param[1] + "})?$"; message += "小数位不能大于" + param[1] + "位,"; } if (value == undefined || value == "") { return true; } $.fn.validatebox.defaults.rules.decimal.message = message; var reg = new RegExp(regs); return reg.test(value); } }, integer : {/* 验证整数,param:整数位长度,允许为空 */ validator : function(value, param) { if (param == undefined || param.length == 0) { return true; } var message = ""; var regs = "^"; if (param[0] == 0) { regs += "\\d+$"; } else { regs += "\\d{1," + param[0] + "}$"; message = "长度不能大于" + param[0] + "位,"; } if (param[1]) { if (value == undefined || value == "") { return true; } ; message += "可不填!"; } else { message += "必填!"; } $.fn.validatebox.defaults.rules.integer.message = message; var reg = new RegExp(regs); return reg.test(value); } }, maxLength:{/* 验证最大长度,param:[0]最大长度,[1]组合value的值,允许为空 */ validator : function(value, param) { if (value == undefined || value.length == 0) { return true; } return (value+''+(param[1]==undefined?'':param[1])).length<=param[0]; }, message : '长度最大为{0}位!' }, length:{/* 验证最大长度,param:[0]长度,允许为空 */ validator : function(value, param) { if (value == undefined || value.length == 0||param==undefined||param.length==0) { return true; } var message = '长度应为'; for (var i = param.length - 1; i >= 0; i--) { var p = param[i]; if(value.length===p){ return true; }else{ message+=p+','; } }; message = message.substr(0,message.length-1)+'位'; $.fn.validatebox.defaults.rules.length.message = message; return false; } }, lengthThan:{/* 验证最大长度,param:[0]最小长度,[1]最大长度,允许为空 */ validator : function(value, param) { if (value == undefined || value.length == 0||param==undefined||param.length<2) { return true; } return value.length>=param[0]&&value.length<=param[1]; }, message : '长度应为{0}-{1}位!' }, moreThanOrEqualsNumber:{/*大于等于参数,参数可直接传值或传递numberbox的id*/ validator : function(value, param) { if (value == undefined || value == "") { return true; } if (param == undefined || param.length == 0) { return false; } if(typeof param[0] == 'number'){ return value >= param[0]; }else{ var s = $(param[0]).numberbox('getValue'); return value >= s; } }, message : '必须大于等于{0}!' }, moreThanNumber:{/*大于参数,参数可直接传值或传递numberbox的id*/ validator : function(value, param) { if (value == undefined || value == "") { return true; } if (param == undefined || param.length == 0) { return false; } if(typeof param[0] == 'number'){ return value > param[0]; }else{ var s = $(param[0]).numberbox('getValue'); return value > s; } }, message : '必须大于{0}!' }, lessThanNumber:{ /*小于参数,参数可直接传值或传递numberbox的id*/ validator : function(value, param) { if (value == undefined || value == "") { return true; } if (param == undefined || param.length == 0) { return false; } if(typeof param[0] == 'number'){ return value < param[0]; }else{ var s = $(param[0]).numberbox('getValue'); return value < s; } }, message : '必须小于{0}!' }, lessThanOrEqualsNumber:{ /*小于参数,参数可直接传值或传递numberbox的id*/ validator : function(value, param) { if (value == undefined || value == "") { return true; } if (param == undefined || param.length == 0) { return false; } if(typeof param[0] == 'number'){ return value <= param[0]; }else{ var s = $(param[0]).numberbox('getValue'); return value <= s; } }, message : '必须小于等于{0}!' } }); /** * 扩展tree和combotree,使其支持平滑数据格式 * * @author Ray * * @requires jQuery,EasyUI * */ sy.loadFilter = { loadFilter : function(data, parent) { var opt = $(this).data().tree.options; var idField, textField, parentField; if (opt.parentField) { idField = opt.idField || 'id'; textField = opt.textField || 'text'; parentField = opt.parentField || 'pid'; var i, l, treeData = [], tmpMap = []; for (i = 0, l = data.length; i < l; i++) { tmpMap[data[i][idField]] = data[i]; } for (i = 0, l = data.length; i < l; i++) { if (tmpMap[data[i][parentField]] && data[i][idField] != data[i][parentField]) { if (!tmpMap[data[i][parentField]]['children']) tmpMap[data[i][parentField]]['children'] = []; data[i]['text'] = data[i][textField]; tmpMap[data[i][parentField]]['children'].push(data[i]); } else { data[i]['text'] = data[i][textField]; treeData.push(data[i]); } } return treeData; } return data; } }; $.extend($.fn.combotree.defaults, sy.loadFilter); $.extend($.fn.tree.defaults, sy.loadFilter); /** * 扩展treegrid,使其支持平滑数据格式 * * @author Ray * * @requires jQuery,EasyUI * */ $.extend($.fn.treegrid.defaults, { loadFilter : function(data, parentId) { var opt = $(this).data().treegrid.options; var idField, treeField, parentField; if (opt.parentField) { idField = opt.idField || 'id'; treeField = opt.textField || 'text'; parentField = opt.parentField || 'pid'; var i, l, treeData = [], tmpMap = []; for (i = 0, l = data.length; i < l; i++) { tmpMap[data[i][idField]] = data[i]; } for (i = 0, l = data.length; i < l; i++) { if (tmpMap[data[i][parentField]] && data[i][idField] != data[i][parentField]) { if (!tmpMap[data[i][parentField]]['children']) tmpMap[data[i][parentField]]['children'] = []; data[i]['text'] = data[i][treeField]; tmpMap[data[i][parentField]]['children'].push(data[i]); } else { data[i]['text'] = data[i][treeField]; treeData.push(data[i]); } } return treeData; } return data; } }); /** * 创建一个模式化的dialog * * @author Ray * * @requires jQuery,EasyUI * */ sy.modalDialog = function(options) { var opts = $.extend({ title : ' ', width : 640, height : 480, modal : true, onClose : function() { var that = this; setTimeout(function() { $(that).dialog('destroy'); }, 100 ); } }, options); // opts.modal = true;// 强制此dialog为模式化,无视传递过来的modal参数 if (options.url) { opts.content = '<iframe id="" src="' + options.url + '" allowTransparency="true" scrolling="auto" width="100%" height="98%" frameBorder="0" name=""></iframe>'; } return $('<div/>').dialog(opts); }; /** * 更换主题 * * @author Ray * @requires jQuery,EasyUI * @param themeName */ sy.changeTheme = function(themeName) { var $easyuiTheme = $('#easyuiTheme'); var url = $easyuiTheme.attr('href'); var href = url.substring(0, url.indexOf('themes')) + 'themes/' + themeName + '/easyui.css'; $easyuiTheme.attr('href', href); var $iframe = $('iframe'); if ($iframe.length > 0) { for (var i = 0; i < $iframe.length; i++) { var ifr = $iframe[i]; try { $(ifr).contents().find('#easyuiTheme').attr('href', href); } catch (e) { try { ifr.contentWindow.document.getElementById('easyuiTheme').href = href; } catch (e) { } } } } $.cookie('easyuiTheme', themeName, { expires : 7 }); }; /** * 滚动条 * * @author Ray * @requires jQuery,EasyUI */ sy.progressBar = function(options) { if (typeof options == 'string') { if (options == 'close') { $('#syProgressBarDiv').dialog('destroy'); } } else { if ($('#syProgressBarDiv').length < 1) { var opts = $ .extend( { title : ' ', closable : false, width : 300, height : 60, modal : true, content : '<div id="syProgressBar" class="easyui-progressbar" data-options="value:0"></div>' }, options); $('<div id="syProgressBarDiv"/>').dialog(opts); $.parser.parse('#syProgressBarDiv'); } else { $('#syProgressBarDiv').dialog('open'); } if (options.value) { $('#syProgressBar').progressbar('setValue', options.value); } } }; /** * 支持datetimebox * * @author 雷勇 * @requires jQuery,EasyUI */ $.extend($.fn.datagrid.defaults.editors, { datetimebox : { init : function(container, options) { var input = $('<input type="text" class="easyui-datetimebox">') .appendTo(container); // 编辑框延迟加载 window.setTimeout(function() { input.datetimebox($.extend({ editable : false }, options)); }, 10); // input.datetimebox($.extend({ editable: false }, options)); return input; }, getValue : function(target) { return $(target).datetimebox('getValue'); }, setValue : function(target, value) { $(target).val(value); window.setTimeout(function() { $(target).datetimebox('setValue', value); }, 150); }, resize : function(target, width) { var input = $(target); if ($.boxModel == true) { input.width(width - (input.outerWidth() - input.width())); } else { input.width(width); } } } }); /** * 支持添加删除编辑器 */ $.extend($.fn.datagrid.methods, { addEditor : function(jq, param) { if (param instanceof Array) { $.each(param, function(index, item) { var e = $(jq).datagrid('getColumnOption', item.field); e.editor = item.editor; }); } else { var e = $(jq).datagrid('getColumnOption', param.field); e.editor = param.editor; } }, removeEditor : function(jq, param) { if (param instanceof Array) { $.each(param, function(index, item) { var e = $(jq).datagrid('getColumnOption', item); e.editor = {}; }); } else { var e = $(jq).datagrid('getColumnOption', param); e.editor = {}; } } }); function addChildMenu(dataset, treegrid) { var ds = dataset; var tree = treegrid; var treeColumn = tree.getTreeColumn(); var currentNode = tree.getCurrentNode(); if (currentNode != null) { logicCheck(currentNode); var record = ds.insertRecord(); var node = new RecordTreeNode(record, new SimpleTreeLevel(treeColumn)); node.setHasChild(false); currentNode.addNode(node); tree.expandNode(currentNode); } else { var record = ds.insertRecord(); var node = new RecordTreeNode(record, new SimpleTreeLevel(treeColumn)); node.setHasChild(false); tree.addRootNode(node); } tree.refresh(); } function deleteMenu(dataset, treegird) { var ds = dataset; var tree = treegird; var currentNode = tree.getCurrentNode(); if (currentNode != null) { var currentRecord = currentNode.getRecord(); ds.deleteRecord(currentRecord); deleteChildMenu(ds, currentNode); } tree.refresh(); } function deleteChildMenu(dataset, parentMenuNode) { var iter = parentMenuNode.getNodes().iterator(); while (iter.hasNext()) { var node = iter.next(); var record = node.getRecord(); dataset.deleteRecord(record); deleteChildMenu(dataset, node); } } /** * 该方法主要用来检查是否可以在当前节点下添加新的节点 */ function logicCheck(currentNode) { var currentRecord = currentNode.getRecord(); var state = currentRecord.getState(); if (state == "new" || state == "insert") { alert("该节点不是有效节点。"); throw new AbortException(); } } /** * 为所有输入类型添加获取焦点时自动选中 */ $.extend($.fn.validatebox.defaults.inputEvents, { focus:function(e){ var t=$(e.data.target); window.setTimeout(function(){ if(t.validatebox('textbox').filter(":focus").length==1){ t.validatebox('textbox').select(); } },100); } }); $.extend($.fn.textbox.defaults.inputEvents, { focus:function(e){ var t=$(e.data.target); if (t.textbox('options').editable) { window.setTimeout(function(){ if(t.textbox('textbox').filter(":focus").length==1){ t.textbox('textbox').select(); } },100); }; } }); $.extend($.fn.numberbox.defaults.inputEvents, { focus:function(e){ var t=$(e.data.target); if (t.numberbox('options').editable) { window.setTimeout(function(){ if(t.numberbox('textbox').filter(":focus").length==1){ t.numberbox('textbox').select(); } },100); }; } }); $.extend($.fn.combobox.defaults.inputEvents, { focus:function(e){ var t=$(e.data.target); if (t.context.className.indexOf('easyui-date')&&t.combobox('options').editable) { window.setTimeout(function(){ if(t.combobox('textbox').filter(":focus").length==1){ t.combobox('textbox').select(); } },100); }; } });
相关推荐
本文将深入探讨如何在EasyUI中扩展一个带有单位输入框的自定义插件,这在处理需要指定单位(如长度、重量等)的数据输入场景时非常有用。 ### 标题解析:“easyui 扩展 带单位输入框” 标题明确了本文的主题是关于...
在"easyui扩展版本的插件"中,我们看到的是对原生EasyUI组件的进一步增强和定制,以满足更具体的需求。 1. **日期组件扩展**:原生的EasyUI日期选择器通常提供了基本的日历功能,但扩展版本可能包含了更多的自定义...
"EasyUI 扩展图标样式" 是一种针对 EasyUI 原有图标集的增强,旨在提供更多的图标选项,以适应更多样化的界面设计。这个扩展仅仅关注图标本身,不涉及其他的界面风格,确保了与现有 EasyUI 设计的兼容性。开发者可以...
"EasyUI 扩展ICON图标" 提供了一个解决方案,它增加了1775个额外的图标,大大丰富了EasyUI的图标库。这些图标可能是矢量图形,可以在不同分辨率和尺寸下保持清晰,同时涵盖了各种常见的功能类别,如导航、操作、状态...
easyui扩展的js验证,是对easyUI没有的验证做的补充扩展,好用方便
10. **文档和示例**:使用Easyui扩展图标时,应参考其官方文档或提供的示例代码,以便更好地理解和应用这些图标。 总之,Easyui的扩展图标为开发者提供了更多的设计元素,使得构建用户界面更加灵活,同时也需要注意...
从描述中的“总包”来看,这个压缩包可能包含了一系列与EasyUI扩展和jutil.js相关的资源,如CSS样式文件、JavaScript脚本、示例代码或者文档,供开发者参考和使用。通过提供的博文链接(已省略),可以获取更多关于...
"EasyUI 扩展小图标Icon带CSS样式" 是为了应对EasyUI内置图标不足和美观度不高的问题而创建的资源包。这个扩展包包含了一套更全面、更美观的图标库,适用于各种项目需求,可以直接整合到基于EasyUI的项目中使用,极...
### JQuery easyUI扩展验证机制的正则表达式详解 #### 一、概述 在Web开发过程中,表单数据的有效性和准确性对于用户体验至关重要。为了确保用户输入的数据符合预期的格式,前端验证成为了一项必不可少的任务。...
在"jQuery EasyUI 扩展(tip和form)"这个主题中,我们将深入探讨如何利用 EasyUI 的扩展功能来优化提示(tip)和表单(form)的交互体验。 首先,让我们谈谈“Tip”。在 Web 开发中,提示信息通常用于向用户提供即时...
针对这种情况,标题提到的 "jquery easyui 扩展图标样式下载(514个)" 是一个资源包,为EasyUI用户提供了额外的514个图标,以扩充其图标库。 这个资源包包含两部分主要内容:图标图片文件和样式文件。图标图片文件...
### easyUI扩展Layout方法以支持动态添加与删除区块 #### 概述 easyUI是一款基于jQuery的用户界面库,它提供了丰富的UI组件和强大的布局管理功能。本文将详细介绍如何通过扩展easyUI的`layout`方法来实现动态添加...
本文将深入探讨“千余个网站实用按钮图标附带easyui扩展图标样式文件”这个主题,包括其中包含的资源以及如何在项目中有效地使用它们。 首先,我们要了解EasyUI。EasyUI是一个基于JavaScript和jQuery的轻量级框架,...
EasyUI扩展图标是一套丰富的图形资源,专为增强和扩展EasyUI框架的视觉表现而设计。EasyUI是一款基于JavaScript和CSS的轻量级前端开发框架,它简化了网页用户界面的构建过程,提供了诸如对话框、菜单、表格、布局等...
标题提到的“EasyUi图标扩展样式大全(1700个)”是一个专门针对EasyUi的图标库增强方案,旨在解决EasyUI默认图标样式不足和美观度不高的问题。 这个扩展样式大全包含了1700个图标,大大增加了EasyUI在设计界面时的...
EasyUI图标扩展样式是针对EasyUI框架的一种增强,旨在提供更多的视觉元素,以满足开发者在构建用户界面时对个性化和多样性的需求。EasyUI是一个基于jQuery的轻量级且易于使用的前端开发框架,它提供了丰富的组件,如...
easyui扩展图标
Easyui的扩展datagrid-dnd.js,实现拖动datagrid行到其他数据表格的必要文件