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

Javascript 在dojo选项卡容器中选择选项卡时,如何调用函数?,javascript,dojo,tabs,Javascript,Dojo,Tabs,我有一个带有选项卡的选项卡容器,根据选择的选项卡,我希望运行一个函数。我已经用Java脚本创建了这个函数,它将隐藏或显示一个窗口。该函数工作正常。如何告诉选项卡运行此功能?在下面的代码中,我在选项卡的“内容”中显示了一个名为“hidediv”的函数。我还有一个名为“showdiv”的函数。我想从内容中删除它,并在选择选项卡时自动运行它。有什么建议吗?我根本不希望它影响选项卡的内容。 谢谢大家! <div dojoType="dijit.layout.ContentP

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

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

这在中有很好的描述

基本上,如果您的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>


很抱歉,我是一个新手,但是我可以使用我发送的示例在哪里插入此代码?@John您可以在任何地方插入它,例如在您的
hidediv
定义之后。我刚刚试用过,效果非常好!非常感谢。我确实有一个showdiv,我想只为一个选项卡启用它。有没有办法使用相同的原则,但只适用于特定的选项卡标题或id?非常感谢。