今天遇到个页面上的问题,在此记录一下,以便再次遇到可以快速解决。
问题:在各个菜单点开生成一个tab1页后,我去操作其他tab2页,当我切回到tab1页时,发现数据并没有进行刷新。
解决:1、看到有说刷新iframe就可以达到效果,亲试没有达到预期效果。
2、实现先删除tab页,再add tab页 太笨,而且里面部分逻辑不通。
3、$('#maintabs').tabs('getTab',title).panel('refresh'); 亲测可用,而且每次点击实现刷新页面。
代码:
$(function() {
//easy ui树加载会在文档加载完执行,所以初始化菜单要延迟一秒 by jueyue
setTimeout(InitLeftMenu,1000);
tabClose();
tabCloseEven();
// 释放内存
$.fn.panel.defaults = $.extend({}, $.fn.panel.defaults, {
onBeforeDestroy : function() {
var frame = $('iframe', this);
if (frame.length > 0) {
frame[0].contentWindow.document.write('');
frame[0].contentWindow.close();
frame.remove();
}
if ($.browser.msie) {
CollectGarbage();
}
}
});
//每次点击tab页进入方法
$('#maintabs').tabs({ onSelect : function(title) {
$('#maintabs').tabs('getTab',title).panel('refresh');
rowid="";
} });
});
var rowid="";
// 初始化左侧
function InitLeftMenu() {
$('.easyui-accordion li div').click(function() {
$('.easyui-accordion li div').removeClass("selected");
$(this).parent().addClass("selected");
}).hover(function() {
$(this).parent().addClass("hover");
}, function() {
$(this).parent().removeClass("hover");
});
// begin for:避免监听树自带三角点击事件
$('.easyui-tree').tree({
onClick: function(node){
openThisNoed(node);
}
});