easyUI Tab href,content区别

easyUI的Tab面板是继承了panel

Tab中js的两种用法:

说明:jsp主页面添加一个id为tab的div,要引入easyUI的相关js、css

<div data-options="region:‘center‘" >

<div id="tab" class="easyui-tabs" fit="true">

<div title="主页"></div>

</div>

</div>

第一种,使用content:

/添加tab,这里有一个name属性

function f_addTab(name,tabId,title,url){

if ($("#tab").tabs(‘exists‘, tabId)) {

$(‘#tab‘).tabs(‘select‘, tabId);

// $(‘#‘+tabId).attr(‘src‘,url);//刷新

} else {

$(‘#tab‘).tabs(‘add‘,{

id:tabId,

title:title,

content:‘<iframe name="‘+name+‘" src="‘+url+‘" frameborder="0" style="height:100%;width:100%;" "></iframe>‘,

closable:true ,//tab显示关闭键

cache:true //设置缓存,如果为false,在每次选中所选的tab时,都会加载一次页面内容

});

}

}

第二种,使用href:

function f_addHref(tabId,title,hrefUrl){

if ($("#tab").tabs(‘exists‘, tabId)) {

$(‘#tab‘).tabs(‘select‘, tabId);

$(‘#‘+tabId).attr(‘src‘,url);//刷新

} else {

$(‘#tab‘).tabs(‘add‘,{

id:tabId,

title:title,

href:hrefUrl,

closable:true ,

cache:true

});

}

}

第一种和第二种的区别:

content属性是添加整个url请求中完整的jsp页面,而href属性只引入url中的<body></body>中的内容,具体可参考这个网站:

http://www.jeasyuicn.com/post-49.html

如果使用href创建tab,那么使用datagrid时,每个页面的grid的id都不能重名,否则会无法显示,因为href属性是不断在原来的页面插入url中请求的页面内容,一旦datagrid的id重名,那么在第二个datagrid就会无法显示

引入easyUI的相关js文件区别:

如果使用href创建tab,那么只要在主页中引入相关的easyUI的js、css文件就可以了;

如果使用content创建tab,那么每个页面都要引入相关的easyUI的js、css文件

以下是我自己测试出来的结果:

我这里有三个页面,分别为1.jsp  、 2.jsp  、3.jsp,1.jsp是主页

2.jsp中有一个js的f_search()方法,用来刷新id为invendg的datagrid数据

function f_search(){

alert(‘已调用f_search方法‘);//href创建tab时,这里可以执行

$(‘#invendg‘).datagrid(‘load‘,

serializeObject( $("#searchForm").form() ) //将searchForm表单内的元素序列为对象传递到后台

);

console.info($(‘#invendg‘));//href创建tab时,这时火狐控制台打印一个空的对象,即Object[ ]

}

3.jsp是用来增加、修改2.jsp的数据,在3.jsp增加、修改完保存后要刷新1.jsp中grid的数据

使用content创建tab时调用父窗口方法,要加上name属性,子页面可通过这个name属性调用指定的父窗口,如:

window.frames[‘test‘].f_search();

我这里使用了第一种方法创建tab,如果使用parent或window调用,即parent.f_search(),将会调用最上层的方法,即1.jsp中的方法。如果1.jsp找不到这个方法将会报错

使用href创建tab时调用父窗口方法,可以直接调用,但使用父窗口方法时,不能调用到父窗口的对象元素。

如果我3页面使用了2.jsp页面的 f_search()方法,那么将无法找到 $(‘#invendg‘)这个对象,这个可以从火狐浏览器的调试控制台查看,利用

console.info($(‘#invendg‘));打印出来是一个空的对象,正常的打印应该是这样的,

可看到object的中括号中有值

我在使用href属性创建tab时,在3.jsp页面直接调用2.jsp页面的方法,即f_search()方法,虽然能执行到父页面方法,但调用不了 $(‘#invendg‘)这个对象

注意:在使用href引入页面时还有一个需要注意的问题,就是每个页面都不能有重名的js方法,新建tab时,使用href属性,如果每个tab的页面都使用了同名的js方法,或相同的div的id,那么新的窗口js方法和document元素会覆盖了旧窗口中相同的js方法和document元素。

如有1、2两个页面,1和2 都有一个f_add()方法,如果先打开了1,然后再打开2,这时在1中将不能使用1中原来的f_add()方法,使用的将是2页面中的方法。

初学easyUI,在使用tab面板时遇到了许多问题,暂时将我自己实践出来的经验分享给大家,大家也可以加easyUI的一些QQ群,积累一下经验。

href,content的区别,写得比较详细的一篇文章,大家可参考一下: http://www.easyui.info/archives/164.html

easyUI Tab href,content区别,布布扣,bubuko.com

时间: 2024-12-26 16:52:47

easyUI Tab href,content区别的相关文章

【转】 jquery easyui Tab 引入页面的问题

原地址:http://blog.csdn.net/superdog007/article/details/8225518 jQuery Easyui 的tabs插件有两种方式加载某个tab(标签页)上的内容:“href远程请求”和“content本地内容”,本文就两种方式的优缺点进行简单分析和思考. 两者特点: href方式加载数据的特点: 被加载的页面只有body元素内部的内容才会被加载,也就是jQuery的ajax请求的只是html片段. 加载远程url时有遮罩效果,也就是“等待中……”效果

jquery easyui tab加载内容的几种方法

转:http://my.oschina.net/u/2331760/blog/391937?fromerr=saqeoxxB jQuery Easyui 的tabs插件有两种方式加载某个tab(标签页)上的内容:“href远程请求”和“content本地内容”,本文就两种方式的优缺点进行简单分析和思考. 两者特点: href方式加载数据的特点: content方式加载数据的特点: 简单总结: href常见问题: 1.href只加载目标URL的html片段 2.短暂的页面混乱: 3.html片段的

jquery easyui Tab 引入页面的问题

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

document.URL 和 windows.location.href的区别

1. 从输出结果上,document.URL 和 windows.location.href 没有区别.2. 非要说区别的话,你只可以读取document.URL的值,不能修改它.windows.location.href的值你即可以读取也可以修改.3. windows.location.href是旧的写法,新的标准推荐用document.URL替代.(如果你只是读取的话)

Easyui Tab刷新

Easyui Tab刷新: function refreshTab(title){ var tab = $('#id').tab('getTab',title); $('#id').tab('update',{ tab : tab, options : tab.panel('options') }); } 版权声明:本文博客原创文章,博客,未经同意,不得转载.

a标签的href=&quot;javascript:void(0)&quot;和href=&quot;#&quot;的区别

好文要推:a标签的href="javascript:void(0)"和href="#"的区别 张鑫旭这篇文章也挺风趣的,作为一个轻微代码洁癖的程序员,该纠结时就纠结:是习惯还是规范!?   疑问:为什么要使用href="javascript:void(0);"? a 标签要写href属性!~有了href属性,天然鼠标手型,以及可以被键盘focus以及focus时候回车模拟点击行为(支持回车点击和默认可以获取焦点). href="#&qu

href=&#39;#&#39;和href=&#39;###&#39;的区别以及javascript:;与javascript:void(0)使用介绍

href='#': 我们有时会写这样的连接<a href="#" >xxx</a>为了不发生跳转,其实是不太正确的,因为href="#",包含了一个位置信息.默认的锚是#top,也就是网页的上端,其实它是发生了跳转的,每次都跳转到网页的顶端,如果你的网页只有一屏,当然看不出来,但是会有问题,因为每次点击都发生了跳转,所以,如果频繁点击会导致浏览器巨慢甚至崩溃. href='###': 这种写法是个人习惯问题,解释一下就会明白,基于href=&

链接中 href=&#39;#&#39; 和 href=&#39;###&#39; 的区别以及优缺点

首先,<a> 标签 + onclick='{jscode}' 是很常用的一种 js 运用方式,而不使用 href='javascript:{jscode}' 是为了兼容多种浏览器对 <a> 标签的解释和处理不同.其次,使用 <a> 标签 + onclick='{jscode}'  时经常会加一个 href='###',而有时这个 href='###' 会被误写为 <a href='#'> 是因为使用者没有理解 '#' 和 '###' 的区别. 简单地说,就是

浅析src与href的区别

src与href的区别 SRC src用于替换当前元素,href用于在当前文档和引用资源之间确立联系. src是source的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置:在请求src资源时会将其指向的资源下载并应用到文档内,例如js脚本,img图片和iframe等元素. 举例: script元素:<script src ="js.js"></script> 当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载.编译.执行