在dojo选项卡容器中选择选项卡时如何调用函数?

时间:2011-06-30 15:00:28

标签: javascript dojo tabs

我有一个带标签的标签容器,根据选择的标签,我希望运行一个功能。我已经在Java Script中创建了该函数,它将隐藏或显示一个窗口。功能正常。我如何告诉标签运行此功能?在下面的代码中,我在选项卡的“内容”中显示了一个标题为“hidediv”的函数。我还有一个名为“showdiv”的功能。我想从内容中删除它,并在选择选项卡时自动运行它。有什么建议?我根本不希望它影响标签的内容。
谢谢!

            <div dojoType="dijit.layout.ContentPane" title="Setup">
            <a href="javascript:hidediv()">Hide div</a> 
            </div>

1 个答案:

答案 0 :(得分:3)

这在reference guide中有详细描述。

基本上,如果你的TabContainer有id“myTabs”,你可以这样做:

dojo.subscribe("myTabs-selectChild", function(selected){
    // Do whatever you need here, hidediv() etc..
    console.log(selected.title);
});

修改:如果您只需要为特定标签触发某些内容,则可以检查该功能内的标题:

dojo.subscribe("myTabs-selectChild", function(selected){
    if(selected.title == "Setup")
    {
       hidediv();
    }
});

也许更优雅的方法是使用ContentPane的onShow事件,例如:

<div dojoType="dijit.layout.ContentPane" title="Setup"
     onShow="hidediv">
     <!-- Content -->
</div>