当前位置: 首页 > news >正文

合肥企业建站程序网站定制套餐

合肥企业建站程序,网站定制套餐,苏州外贸网站建设推广服务,淘宝店购买网站#为operamasks增加HTML扩展方式的组件调用##背景 之前的[博文](http://www.cnblogs.com/p2227/p/3540858.html)中有提及到#xff0c;发现easyui中的combobox,datebox,layout都有效率问题#xff0c;其中layout的问题在[这里](http://www.cnblogs.com/p2227/p/3541162.html)有…#为operamasks增加HTML扩展方式的组件调用##背景 之前的[博文](http://www.cnblogs.com/p2227/p/3540858.html)中有提及到发现easyui中的combobox,datebox,layout都有效率问题其中layout的问题在[这里](http://www.cnblogs.com/p2227/p/3541162.html)有直接的解决方法而combobox,datebox的问题其实在layout的DEMO中也处理了这里主要是写其处理过程。##处理旧问题发现新问题 既然easyui的组件有问题没什么好说了换另外一个组件好了当时试了很多UI解决方案鉴于界面、效率及源代码的质量问题决定用operamasks去替换easyui中的combobox和datebox但是用惯了easyui的人会发现easyui有一个很大的特点是有很多属性可以直接写在html上例如**div idwin iconClsicon-save titleMy Window/div**iconCls和title就会直接加上去产生的组件上而且也可以用类名去声明组件这些operamasks都没有但是不要紧两边的源代码都有研究一下就OK了##分析easyui源代码 虽然easyui的源代码混淆了但是认真看也能发现问题的PS后来发现[这里](http://jquery-easyui.googlecode.com/svn/trunk)有未经混淆的代码了 里面有一个叫parseOptions的函数就是把HTML上的属性转化为组件能使用的属性。而根据类名去渲染就更加容易找到了因为API中直接就有一个$.parser.parse的方法分析一下其源代码即可。##为operamasks增加HTML扩展方式的组件调用 经过测试和其他细节调整最后代码是这样的 javascript var om {dataStore:{},parse:function(key){var setData {Button:{parseOptions:function(obj){var $obj obj instanceof jQuery ? obj : $(obj);return {//图片是用地址放上去的而不是css不科学待改进icons: {left:$obj.attr(iconLeft) || $obj.attr(iconCls),right:$obj.attr(iconRight)}}}},Calendar:{parseOptions:function(obj){var $obj obj instanceof jQuery ? obj : $(obj);return {}}},Combo:{parseOptions:function(obj){var $obj obj instanceof jQuery ? obj : $(obj);return {value:$obj.val(),readOnly:/(readonly)|(true)/i.test($obj.attr(readOnly)) ? true : false,dataSource:$obj.attr(dataSource),inputField:$obj.attr(inputField),optionField:$obj.attr(optionField) || text,valueField:$obj.attr(valueField) || value}}},NumberField:{parseOptions:function(obj){var $obj obj instanceof jQuery ? obj : $(obj);return {allowDecimals:/true/i.test($obj.attr(allowDecimals)) ? true : false,allowNegative:/true/i.test($obj.attr(allowNegative)) ? true : false,decimalPrecision:$obj.attr(decimalPrecision)}}},Panel:{parseOptions:function(obj){var $obj obj instanceof jQuery ? obj : $(obj);return {width:$obj.css(width),height:$obj.css(height),collapsed:$obj.attr(collapsed) true,collapsible:$obj.attr(collapsible) true || $obj.attr(collapsed) true || true}}},Tabs:{parseOptions:function(obj){var $obj obj instanceof jQuery ? obj : $(obj);return {}}}}return key ? setData[key] : setData;},omDocReady:function(){//$.om.omCombo.prototype.options.editable false;$.extend($.om.omCombo.prototype.options,{ //改变下拉框的默认值forceSelection : true,filterDelay : 200,listMaxHeight : 200,inputField:text,optionField:text,valueField:value});$.om.omCalendar.prototype.options.editable false;var sd om.parse();$.each(sd,function(key,val){$(.oma-key).each(function(oid,odm){var $obj $(odm);var conf sd[key].parseOptions($obj);$obj[omkey](conf);});})} } [完整的DEMO](http://p2227.github.io/demo/applyLayout/playout.html)##HTML扩展方式与纯JS调用 一开始使用extjs的时候推崇的是纯JS调用式的使用组件即 javascript $(#id).Component({properties1:value1,properties2:value2 })现在在项目实践中发现easyui可以直接把属性定义在HTML上通过源代码的察看发现其实他们最终都是纯JS调用在起作用但是直接定义在HTML上更加容易入门对于项目中一些新手来说更加好用。反正经过我的封装项目组的其他不太熟悉前端的人使用起来是方便了。转载于:https://www.cnblogs.com/p2227/p/3541824.html
http://www.pierceye.com/news/332306/

相关文章:

  • 网站动效是代码做的吗网站模板侵权问题
  • 网站开发语言总结有哪些怎么样让网站宣传自己
  • 网站建设公司哪家好找建设网站公司哪家好
  • 网站建设网上学a8直播免费版
  • 网上下载的免费网站模板怎么用灯箱网站开发
  • 四平市建设局网站贵州省民贸民品企业信息管理系统
  • 周口网站制作公司哪家好河南省信息服务平台官网
  • 然后建设自营网站湘潭市优化办
  • 大兴专业网站开发公司皮具网站建设策划书
  • 广告投放跟网站建设一样吗呼和浩特免费制作网站
  • 个人做网站的时代已经过去个人手机网站
  • 用vps做网站深圳广告公司招聘安装工人
  • 建设电影网站怎么上传电影如何建企业网站
  • 响应式网站制作公司org域名购买
  • 石家庄网站建设德信互联科技有限公司爬取漫画数据做网站
  • 国内免费iphone网站百度自然排名优化
  • 自己做网站主机做网站和推广
  • wordpress 淘宝嘉兴做网站优化
  • h5 网站开发流程asp个人网站建设
  • 网站建设 正邦企业邮箱怎么认证
  • 建设流网站项目成都住建局官网首页
  • 网站简历文字如何空行产品如何推广市场
  • 吕梁网站设计腾讯营销平台
  • 如何查看网站流量公众号申请网站
  • 阐述企业搭建网站的重要性免费做效果图的网站有哪些
  • 快速网站搭建南宁广告公司网站建设
  • 做数学题网站专业做网站建设 昆山
  • 建筑网站上海网页设计图片素材网
  • 延边网站开发depawo做汽车网站销售怎么入手
  • 商城网站开发技术南京好的网站制作公司