jQuery MiniUI

标题: [Bug]mini-tabs组件loadTab方法在js中的bug [打印本页]

作者: aboutibm    时间: 2013-3-8 09:23:51     标题: [Bug]mini-tabs组件loadTab方法在js中的bug

mini-tabs组件loadTab方法,按照api的说明如下:

loadTab(url,tab,onTabLoad,onTabDestroy)

url:路径地址。
tab:tab对象。
onTabLoad:tab的IFrame加载回调函数。
onTabDestroy:tab的IFrame销毁回调函数。


但是在使用过程中发现,onTabLoad回调函数按照如下写法不能触发,也不报错:

<div id="tabs1" class="mini-tabs" activeIndex="0" style="width:600px;height:350px;"
    url="tabs.txt" >
</div>
<script type="text/javascript">
mini.parse();
function onTabsActiveChanged(e) {
  var tabs = mini.get("tabs1");
  var activeTab = tabs.getActiveTab();
  tabs.loadTab("../button/button.html", activeTab , onTabLoad);
}

function onTabLoad(e) {
     alert(e.tab.url);
}
</script>

但是如果按照以下写法可以触发,但是触发的顺序并不是tab的IFrame加载完成后,而是完成前,且回调函数也无法返回回调参数:

<div id="tabs1" class="mini-tabs" activeIndex="0" style="width:600px;height:350px;"
    url="tabs.txt" >
</div>
<script type="text/javascript">
mini.parse();
function onTabsActiveChanged(e) {
  var tabs = mini.get("tabs1");
  var activeTab = tabs.getActiveTab();
  tabs.loadTab("../button/button.html", activeTab , onTabLoad());
}

function onTabLoad() {
  alert('onTabLoad');
     //alert(e.tab.url);
}
</script>

如果把ontabload事件放在div标签里,则一切正常:

<div id="tabs1" class="mini-tabs" activeIndex="0" style="width:600px;height:350px;"
    url="tabs.txt"  ontabload="onTabLoad">
</div>
<script type="text/javascript">
mini.parse();
function onTabsActiveChanged(e) {
  var tabs = mini.get("tabs1");
  var activeTab = tabs.getActiveTab();
  tabs.loadTab("../button/button.html", activeTab);
}

function onTabLoad(e) {
     alert(e.tab.url);
}
</script>


我的问题是,为什么在js里调用loadTab会不正常运行,难道是我的写法有问题?

作者: factory    时间: 2013-3-8 15:16:30

是个BUG,已经修复了,下周更新
作者: factory    时间: 2013-3-8 15:16:31

是个BUG,已经修复了,下周更新
作者: aboutibm    时间: 2013-3-8 15:27:52

factory 发表于 2013-3-8 15:16
是个BUG,已经修复了,下周更新

ok,静待下周新版本发布




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2