- 注册时间
- 2012-11-16
- 最后登录
- 2018-4-2
- 阅读权限
- 10
- 积分
- 298
- 精华
- 0
- 帖子
- 62
|
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会不正常运行,难道是我的写法有问题?
|
|