[转]浅谈 easyui tabs 的href和content属性.docx

[转]浅谈 easyui tabs 的href和content属性.docx

ID:51582500

大小:19.83 KB

页数:3页

时间:2020-03-13

[转]浅谈 easyui tabs 的href和content属性.docx_第1页
[转]浅谈 easyui tabs 的href和content属性.docx_第2页
[转]浅谈 easyui tabs 的href和content属性.docx_第3页
资源描述:

《[转]浅谈 easyui tabs 的href和content属性.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、众所周知,jQueryEasyui的tabs插件有两种方式加载某个tab(标签页)上的内容:“href远程请求”和“content本地内容”,本文就两种方式的优缺点进行简单分析和思考。两者特点:href方式加载数据的特点:1.被加载的页面只有body元素内部的内容才会被加载,也就是jQuery的ajax请求的只是html片段。2.加载远程url时有遮罩效果,也就是“等待中……”效果,用户体验较好。3.当加载的页面布局较为复杂,或者有较多的js脚本需要运行的时候,编码往往就需要谨慎了,容易出问题,后面会详细谈。content方式加载

2、数据的特点:1.比较灵活,你可以在脚本里面拼写html代码,然后赋值给tab的content属性,不过这种写法会使得代码易读性变差。2.可以把iframe赋给content,把一个iframe嵌入也就没有什么不能完成的了。3.使用iframe会造成客户端js重复加载,浪费资源,比如说你主页面要引用easyui的库,你的iframe也要引用,浪费就产生了。简单总结:根据上面的分析,使用content的方式较为简洁,而且可以引入iframe来搞定一切,缺点也很明显,系统较为复杂的话,将带来极大地资源浪费,只适合较为简单的页面系统;而h

3、ref方式则对编码能力要求的稍微高一些,因为html的片段,稍微不注意就会处理不好,不过熟练的话,个人觉得href方式是不二之选。href常见问题:1.href只加载目标URL的html片段这个特性是由jQuery封装的ajax请求处理机制所决定的,所以目标URL页面里不需要有html,head,body等标签,即使有这些元素,也会被忽略,所以放在head标签里面的任何脚本也不会被引入或者执行。2.短暂的页面混乱:href链接的页面比较复杂的时候,easyui对其渲染往往需要一个较长的过程,这时候,加载进来的html片段毫无布局可

4、以,过一会自动会好,这时候easyui已经完成对它的渲染。如何避免这个混乱的过程呢,还得靠easyui的一个基础插件——解析器(Parser)。Parser有个onComplete事件,这个事件就是指easyui对页面完成渲染时触发,这样思路就很清晰了:用一个div遮罩住让被加载进来的html片段,在onComplete事件中,让这个div淡出,这时候渲染好的html片段就能美人出浴了,同时还整了个等待中的效果,一举两得。这样要做两件事:第一是在要加载的html片段中放一个遮罩用的div:

5、="position:absolute;z-index:1000;top:0px;left:0px;width:100%;height:100%;background:#DDDDDB;text-align:center;padding-top:20%;">

第二是在被加载的html片段尾部处理相关事件:functionshow(){$("#loading").fadeOut("normal",function(){$(this).remove();});}vardelayTime;$.parser.onComplete=

6、function(){if(delayTime)clearTimeout(delayTime);delayTime=setTimeout(show,500);}需要注意的是,如果多个tab页面都使用了onComplete事件,当前定义的会覆盖之前定义的。其实每次easyui渲染完成均会调用onComplete事件,所以每打开一个包含easyui控件的tab页,onComplete事件就会被调用。3.html片段的easyui组件相关脚本莫名地报错:其实这个现象是跟第一个现象的原因一样的,easyui完成对html片段渲染需要一定的

7、时间,页面越复杂,耗时越长,这时候难以避免html存在的脚本存在对easyui某些插件的调用,比如datagrid等,这个时候就会报错,解决方案同上,将这些脚本放到onComplete事件里处理,也就保证了渲染完成前,不会被执行。4.放在window里面表单验证的提示信息会乱串:这个现象应该是插件自身的bug,对位置的计算没有考虑到这些特殊的事情,解决方式可以投机取巧,在打开window后,让表单不符合验证的input获得焦点就可以了。5.两次或者多次加载远程数据问题:官方已经说明在1.2.5的版本中已经修正了这个Bug,但是还是

8、有不少人反应会出现两次加载远程数据的现象,甚至在1.2.6版本中也会遇到,如果您确实遇到这种情况了,请按以下方式检查:·远程数据返回的数据中是否包含class=”easyui-tabs”或者class=”easyui-datagrid”这样的样式了

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
相关标签