钛中打开标签组的问题

时间:2014-11-05 10:33:59

标签: javascript iphone titanium titanium-mobile titanium-alloy

我在标签组中有4个标签。单击选项卡名称时的选项卡转换工作正常。但是我需要在tab3中点击按钮事件从tab3打开tab2。我怎样才能做到这一点。

示例代码,

<Alloy>
<Tab id="one">
    <Window class="container">
        <Label>This is the Home View</Label>
    </Window>
</Tab>
<Tab id="two">
    <Window class="container">
        <Label>This is the second View</Label>
    </Window>
</Tab>
<Tab id="three">
    <Window class="container">
        <Button onClick="saveLang">Proceed</Button>
    </Window>
</Tab>

</Alloy>

控制器:

function saveLang()
{
// How can we open only tab2 here
// I tried open index, the loading time taking long and also it is opening tab1 But I need to open tab2 for this event
}

1 个答案:

答案 0 :(得分:2)

我目前不在我的系统上,我可以提及的问题/评论仍然很少:

首先,我怀疑你的标签不能正常工作,因为它们没有包含在TabGroup中。

所以你的观点应该是:

<Alloy>
  <TabGroup id="myTabGrp"> //Tabgroup Added
    <Tab id="one">
        <Window class="container">
            <Label>This is the Home View</Label>
        </Window>
    </Tab>

    <Tab id="two">
        <Window class="container" id="winTwo">
            <Label>This is the second View</Label>
        </Window>
    </Tab>

    <Tab id="three">
        <Window class="container">
            <Button onClick="saveLang">Proceed</Button>
        </Window>
     </Tab>
  </TabGroup>
</Alloy>

现在,当在控制器中调用saveLang方法时,我们可以调用setActiveTab方法:

function saveLang() {
  $.myTabGrp.setActiveTab($.two);
}

修改:要在标签中重新加载/刷新窗口内容,请在控制器中添加focus event of window

$.winTwo.addEventListener('focus',function(e) { 
    alert('focus');
});

希望它有用。