当一个标签在dojo标签容器中被选中时,我如何调用一个函数?

u0njafvf  于 2022-12-20  发布在  Dojo
关注(0)|答案(1)|浏览(289)

我有一个带有标签的标签容器,根据所选的标签,我希望运行一个函数。我已经在JavaScript中创建了这个函数,它可以隐藏或显示窗口。这个函数工作正常。我如何告诉标签运行这个函数?在下面的代码中,我在标签的"内容"中显示了一个名为"hidediv"的函数。2我还有一个名为"showdiv"的函数。3我想把它从内容中删除,并让它在选项卡被选中时自动运行。4有什么建议吗?5我不想让它影响选项卡的内容。
谢谢大家!

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

syqv5f0l1#

参考指南中对此进行了详细描述。
基本上,如果您的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>

相关问题