j-ui dwz j-ajax 重复刷新问题
使用 dialog 选卡页事, 三选卡标签切换时需要 重新加载更新 刷新。
老版本 dwz 切换标签时,会自动刷新。
新版本不会自动刷新。
无奈,所需功能 为切换时重新加载刷新。
功能控制文件位置
Public\dwz\js\dwz.min.js
新版本不刷新源码为
var jGroup = jGroups.eq(iTabIndex);
if (this.href && !jGroup.attr("loaded")) jGroup.loadUrl(this.href,{},function(){
jGroup.find("[layoutH]").layoutH();
jGroup.attr("loaded",true);
});
老版本每次都重新加载刷新
var jGroup = jGroups.eq(iTabIndex);
if (this.href) jGroup.loadUrl(this.href,{},function(){
jGroup.find("[layoutH]").layoutH();
});
将新版本源码 此处源码整体替换
即还原回老版切换重新加载功能
还原为原始功能后,每次都会刷新又有些浪费资源,增加操作量
可在两段代码中增加变量参数控制 是否刷新。
我没用这种方法,我的方法是,当切换时,识别末尾参数是否变化,如果变化就刷新。
var jGroup=jGroups.eq(iTabIndex);
if(this.href!=jGroup.attr("bhref"))jGroup.loadUrl(this.href,{},function(){
jGroup.find("[layoutH]").layoutH();
});
jGroup.attr("bhref",this.href);//当前路径
原理:
第一次进入时,必然刷新,刷新后记录当前路径
jGroup.attr("bhref",this.href);//当前路径
第二次进入时,判断来源路径与原始路径是否相同,不同则刷新。
this.href!=jGroup.attr("bhref")
================================================
修改时查找相关资料如下
对 dwz.tab.js 的改进
原来的 class="j-ajax" 每次点击tab都刷新
<!--ajax载入,每次点击都刷新-->
<li><a href="tab2.html" class="j-ajax"><span>从表2</span></a></li>
1. 加了 ajax-once 可以只载入一次,就像navTab的行为,改进在 dwz.tab.js
<!--ajax载入,只载入一次-->
<li><a href="tab1.html" class="j-ajax ajax-once"><span>从表1</span></a></li>
2. 从navTab复制过来的关闭外观,改进在 core.css 和 style.css 里
<!--关闭按钮-->
<li><a href="tab3.html" class="j-ajax"><span>从表3</span></a><a href="#" class="close">close</a></li>